mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-17 13:07:54 +02:00
Merge #935: Bring Elements up to date with Bitcoin Core 0.21
291da8bedbci: increase memory on asan run (Andrew Poelstra)24ca09cb84test: add missing `sync_blocks` to dynafed test; disable timing out travis test (Andrew Poelstra)f76fe5e469ci: fix some test timeouts (Andrew Poelstra)f994740dd1fuzz: fix `SignatureHash` stuff for rangeproof sighash API changes (Andrew Poelstra)7575e050bbremove some unused imports from new sighash_rangeproof test (Andrew Poelstra)e801e951dfci: whitelist some RPCs on the functional test coverage check (Andrew Poelstra)1f068f8bd9ci: fiddle with macos CFLAGS to work around apparent clang bug (Andrew Poelstra)fec99efb8ffix invalid memory access that I added when merging descriptor wallets (Andrew Poelstra)98d0ff7035tests: actually fix intermittent failure in feature_assetsdir.py (Andrew Poelstra)14ff891036Various ubsan fixes (Andrew Poelstra)f1092db80edisable previous-release compatibility test and walletupgrade test (Andrew Poelstra)ef3bc3084abuild: move dynafed and pak to server rather than libelementsconsensus (Andrew Poelstra)55be2930fbtest: disable "is everyone connected" check in sync_all in blocksigner test (Andrew Poelstra)89926e6b5fci: correct bitcoin-node to elements-node for multiprocess CI job (Andrew Poelstra)f912cb8e2eRevert "gui: Alternate row background based on txid" (Andrew Poelstra)e5ecee8d2dreduce cache sizes so that default maxsigcache size is same as Bitcoin (Andrew Poelstra)1670bdfa0bci: fix benchmarks, fuzztests and unit tests (Andrew Poelstra)697cd77985ci: disable broken feature_pruning test (Andrew Poelstra)0c98d2f5d4ci: fix address in signet test so that the test works with wallet disabled (Andrew Poelstra)47885e97bfci: tighten locking in signblock to ensure consistent main/wallet locking order (Andrew Poelstra)2f5c624b18ci: eliminate a bunch of build warnings (Andrew Poelstra)a1bac6d8a6build: drop the rendered icon stuff (Andrew Poelstra)ee5d4e3256ci: temporarily disable qa-assets unit tests (Andrew Poelstra)db64bd5276ci: change bitcoin- paths to elements- paths since that's where autotools puts stuff (Andrew Poelstra)f1642283f5travis: temporarily remove bitcoin_functional tests from Python linter (Andrew Poelstra)848c597959(temporarily?) delete Liquid gitian descriptors (Andrew Poelstra)79bab21c58ci: reduce secp test iterations from default 64 to 16 (Andrew Poelstra)68bfd70b43ci: various linter / CI compiler error fixes (Andrew Poelstra)1e98c9fa9efix RPC linter issues (Andrew Poelstra)29ab3fdda1travis: temporarily disable lint-git-commit-check.sh (Andrew Poelstra)ae064874bctravis: temporarily blacklist a specific commit in the `scripted-diff` filter (Andrew Poelstra)bb6441b7a4qt: Pre-splitoff translations update (Wladimir J. van der Laan)05e82d86b0wallet: override minfee checks (fOverrideFeeRate) for fee_rate (Jon Atack)9a670b4f07wallet: update sendtoaddress, send RPC examples with fee_rate (Jon Atack)be481b72e2wallet: use MIN_RELAY_TX_FEE in bumpfee help (Jon Atack)449b730579wallet: provide valid values if invalid estimate mode passed (Jon Atack)6da3afbaeewallet: update remaining rpcwallet fee rate units to BTC/kvB (Jon Atack)173b5b5fe0wallet: update fee rate units, use sat/vB for fee_rate error messages (Jon Atack)7f9835a05awallet: remove fee rates from conf_target helps (Jon Atack)b7994c01e9wallet: add fee_rate unit warnings to bumpfee (Jon Atack)410e471fa4wallet: remove redundant bumpfee fee_rate checks (Jon Atack)a0d4957473wallet: introduce fee_rate (sat/vB) param/option (Jon Atack)e21212f01bwallet: remove unneeded WALLET_BTC_KB_TO_SAT_B constant (Jon Atack)6112cf20d4wallet: add CFeeRate ctor doxygen documentation (Jon Atack)3f72791613wallet: fix bug in RPC send options (Jon Atack)ac64cec4cegui: create wallet: add advanced section (Sjors Provoost)c99d6f644agui: create wallet: name placeholder (Sjors Provoost)5bff82540b[gui] create wallet: smarter checkbox toggling (Sjors Provoost)9636962889[upgradewallet] removed unused warning param (Sishir Giri)b6121edf70swapped "is" for "==" in literal comparison (Tyler Chambers)d355a302d9Break circuit earlier (lontivero)5f9c0b6360wallet: Remove -upgradewallet from dummywallet (MarcoFalke)a314271f08test: Remove unused wallet.dat (MarcoFalke)bf7635963ctests: Test specific upgradewallet scenarios and that upgrades work (Andrew Chow)4b418a9dectest: Add test_framework/bdb.py module for inspecting bdb files (Andrew Chow)092fc43485tests: Add a sha256sum_file function to util (Andrew Chow)0bd995aa19wallet: upgrade the CHDChain version number when upgrading to split hd (Andrew Chow)8e32e1c41cwallet: remove nWalletMaxVersion (Andrew Chow)bd7398cc62wallet: have ScriptPubKeyMan::Upgrade check against the new version (Andrew Chow)5f720544f3wallet: Add GetClosestWalletFeature function (Andrew Chow)842ae3842dwallet: Add utility method for CanSupportFeature (Andrew Chow)9c08f3332cdoc: Missing comments for signet parameters (kanon)20e491ddcbCI/Cirrus: Skip merge_base step for non-PRs (Luke Dashjr)89836a82eestyle: minor improvements as a followup to #19845 (Vasil Dimov)049feabf28Add missing optional.h include (Kristaps Kaupe)29c66ace5cSilence false positive GCC warning (Kristaps Kaupe)406097c810ci: Use the previous build worker image in AppVeyor (Hennadii Stepanov)440f8d3abefix potential devision by 0 (Jonas Schnelli)d04a17a790fuzz: Use ConsumeRandomLengthBitVector(...) in src/test/fuzz/connman and src/test/fuzz/net (practicalswift)e6bb9fde85tests: Add fuzzing harness for CAddrMan (practicalswift)0ccb3addf6tests: Remove no longer needed UBSan suppression (float-divide-by-zero in validation.cpp) (practicalswift)38ada892edaddrman: ensure old versions don't parse peers.dat (Vasil Dimov)241434200erefactor: qt: Use vQueueNotifications.clear() (João Barbosa)989e579d07qt: Make transaction notification queue wallet specific (João Barbosa)7b3b2303f4move-only: Define TransactionNotification before TransactionTablePriv (João Barbosa)79ef8324d4tests: Add fuzzing harness for CConnman (practicalswift)3c77b8009dfuzz: Improve coverage for CPartialMerkleTree fuzzing harness (practicalswift)ee11a412a5Avoid signed integer overflow when loading a mempool.dat file with a malformed time field (practicalswift)c82336c493Remove references to CreateWalletFromFile (fanquake)24d2d3341dQA: wallet_multiwallet: Check that recursive symlink directory and wallet.dat loops are ignored (Luke Dashjr)69f59af54dBugfix: Wallet: Soft-fail exceptions within ListWalletDir file checks (Luke Dashjr)5e146022dawallet: fix scanning progress calculation for single block range (Sebastian Falbesoner)fa949b3c13test: Suppress epoll_ctl data race (MarcoFalke)fa92cf29d9ci: Remove redundant valgrind fuzz task (MarcoFalke)fa4234d877test: Mock IBD in net_processing fuzzers (MarcoFalke)444412821etest: Fix intermittent issue in wallet_listsinceblock (MarcoFalke)79b8f8d574fuzz: Assert roundtrip equality for both addrv1 and addrv2 versions of CService (practicalswift)0e3a78a8abfuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CSubNet (practicalswift)538be4219awallet: fix importdescriptor silent fail (Ivan Metlushko)7b5bd3102etest: add getnetworkinfo network name regression tests (Jon Atack)9a75e1e569rpc: update GetNetworksInfo() to not return unsupported networks (Jon Atack)ba8997fb2enet: update GetNetworkName() with all enum Network cases (Jon Atack)fab900802dci: Bump timeout factor (MarcoFalke)50eb0c2512Small improvements to the Taproot functional tests (Pieter Wuille)fac865b72dtest: Fix intermittent feature_taproot issue (MarcoFalke)fa1dea19fctest: Fix deser issue in create_block (MarcoFalke)fa762a3fd4test: Remove unused unnamed parameter from block.serialize call (MarcoFalke)77777c8b5eci: Run windows ci config on cirrus (MarcoFalke)3333d6942eci: Run macos ci config on cirrus (MarcoFalke)fa8b1114e6ci: Run arm ci config on cirrus (MarcoFalke)fa0795f54dci: Replace TRAVIS_OS_NAME with CI_OS_NAME (MarcoFalke)fafce1a13aci: Move documentation to correct config file (MarcoFalke)bd93fc9945Fix change detection of imported internal descriptors (Andrew Chow)faa2f06f5escripted-diff: [build] Ensure source tarball has leading directory name (MarcoFalke)fa2c3c0d96ci: Set LC_ALL=C to allow running the s390x tests in qemu (MarcoFalke)fac0517836travis: Remove s390x build (MarcoFalke)66667acc53cirrus: Skip tasks on the gui repo main branch (MarcoFalke)04a69c200emacOS deploy: use the new plistlib API (Jonas Schnelli)568a1d7261fix ecdsa verify in test framework (Stepan Snigirev)faf5fa7413wallet: Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase (MarcoFalke)fa00ff0399test: Fix wallet_multiwallet test issue on Windows (MarcoFalke)090b8385afSet bilingual error completely (Hennadii Stepanov)f1f433e8caMake it easier to reason about node eviction by removing unused NodeEvictionCandidate::addr (CAddress) (practicalswift)d7901ab8d2fuzz: Assert expected DecodeHexTx behaviour when using legacy decoding (practicalswift)fae45c34d1test: Only try witness deserialize when checking for witness deserialize failure (MarcoFalke)58cfbc38e0Ignoring (but warn) on duplicate -wallet parameters (Jonas Schnelli)5cafe2b25cfuzz: Add missing ECC_Start to descriptor_parse test (Ivan Metlushko)fa8e494554ci: Run ci configs on cirrus (MarcoFalke)fa2ecadd0dtest: Fix intermittent rpc_net issue (MarcoFalke)af3b0dfc54net: fix output of peer address in version message (Vasil Dimov)fa3967efdbtest: Replace ARRAYLEN with C++11 ranged for loop (MarcoFalke)fafc529053test: Run AssetTest even if built --with-libs=no (MarcoFalke)faf58ab139ci: Add --with-libs=no to one ci config (MarcoFalke)0be29000c0rpc: update conf_target helps for correctness/consistency (Jon Atack)778b9be406wallet, rpc: fix send subtract_fee_from_outputs help (Jon Atack)603c005083wallet: add rpc send explicit fee rate coverage (Jon Atack)dd341e602dwallet: add sendtoaddress/sendmany explicit fee rate coverage (Jon Atack)44e7bfa603wallet: add walletcreatefundedpsbt explicit fee rate coverage (Jon Atack)6e1ea4273etest: refactor for walletcreatefundedpsbt fee rate coverage (Jon Atack)3ac7b0c6f1wallet: fundrawtx fee rate coverage, fixup ParseConfirmTarget() (Jon Atack)2d8eba8f84wallet: combine redundant bumpfee invalid params and args tests (Jon Atack)1697a40b6fwallet: improve bumpfee error/help, add explicit fee rate coverage (Jon Atack)fc5721723dwallet: fix SetFeeEstimateMode() error message (Jon Atack)052427eef1wallet, bugfix: fix bumpfee with explicit fee rate modes (Jon Atack)2ead31fb1b[wallet] Return object from upgradewallet RPC (Sishir Giri)6866259fabnet: Hardcoded seeds update for 0.21 (Wladimir J. van der Laan)36e875b4c5contrib: Add new versions to makeseeds.py and update gitignore (RandyMcMillan)28f8cb13d4fuzz: Fix DecodeHexTx fuzzing harness issue (practicalswift)c2cf8a18c2fuzz: Check for addrv1 compatibility before using addrv1 serializer on CService (practicalswift)16d9bfc417Avoid test-before-evict evictions of current peers (Suhas Daftuar)e8b215a086Refactor test for existing peer connection into own function (Suhas Daftuar)4fe338ab3eCall CAddrMan::Good() on block-relay-only peer addresses (Suhas Daftuar)daf5553126Avoid calling CAddrMan::Connected() on block-relay-only peer addresses (Suhas Daftuar)fa90ba36d3Update assumed chain params (MarcoFalke)c7b7e0a692tests: Make only desc wallets for wallet_multwallet.py --descriptors (Andrew Chow)d4b67ad214Avoid creating legacy wallets in wallet_importdescriptors.py (Andrew Chow)6c9c12bf87Update feature_backwards_compatibility for descriptor wallets (Andrew Chow)9a4c631e1cUpdate wallet_labels.py to not require descriptors=False (Andrew Chow)242aed7cc1tests: Add a --legacy-wallet that is mutually exclusive with --descriptors (Andrew Chow)388053e172Disable some tests for tool_wallet when descriptors (Andrew Chow)47d3243160Make raw multisig tests legacy wallet only in rpc_rawtransaction.py (Andrew Chow)59d3da5bceDo addmultisigaddress tests in legacy wallet mode in wallet_address_types.py (Andrew Chow)25bc5dccbfUse importdescriptors when in descriptor wallet mode in wallet_createwallet.py (Andrew Chow)0bd1860300Avoid dumpprivkey and watchonly behavior in rpc_signrawtransaction.py (Andrew Chow)08067aebfdAdd script equivalent of functions in address.py (Andrew Chow)86968882a8Add descriptor wallet output to tool_wallet.py (Andrew Chow)3457679870Use separate watchonly wallet for multisig in feature_nulldummy.py (Andrew Chow)a42652ec10Move import and watchonly tests to be legacy wallet only in wallet_balance.py (Andrew Chow)4b871909d6Use importdescriptors for descriptor wallets in wallet_bumpfee.py (Andrew Chow)c2711e4230Avoid dumpprivkey in wallet_listsinceblock.py (Andrew Chow)553dbf9af4Make import tests in wallet_listtransactions.py legacy wallet only (Andrew Chow)dc81418fd0Use a separate watchonly wallet in rpc_fundrawtransaction.py (Andrew Chow)a357111047Update wallet_importprunedfunds to avoid dumpprivkey (Andrew Chow)e5f3e95a8edoc: fix getchaintxstats fields in release-process.md (Jon Atack)3d0556d410Increase feature_taproot inactive test coverage (Pieter Wuille)525cbd425eOnly relay Taproot spends if next block has it active (Pieter Wuille)5d9917464adocs: Correct getblockstats documentation for (sw)total_weight (Nadav Ivgi)bf6855a909wallet: Fix bug when just created encrypted wallet cannot get address (Hennadii Stepanov)fab94534b6doc: Document that wallet salvage is experimental (MarcoFalke)7411876c75Ensure a legacy wallet for BDB format check (Andrew Chow)586640381aSkip --descriptor tests if sqlite is not compiled (Andrew Chow)ad5cef5dfddoc: Update data directory path comments (Hennadii Stepanov)b19e88230futil: Add StripRedundantLastElementsOfPath function (Hennadii Stepanov)01476a88a6wallet: Make -wallet setting not create wallets (Russell Yanofsky)6c0259fc2fSquashed 'src/secp256k1/' changes from c6b6b8f1bb..3967d96bf1 (Pieter Wuille)d0a829e963build: fix mutex detection when building bdb on macOS (fanquake)398045ba8bcli -netinfo: print oversized/extreme ping times as "-" (Jon Atack)773f4c99c0cli -netinfo: handle longer tor v3 local addresses (Jon Atack)33e987452fcli -netinfo: make age column variable-width (Jon Atack)f8a1c4d946cli -netinfo: various quick updates and fixes (Jon Atack)bbb42a6896RPC: createwallet: Nicer error message if descriptor wallet requested and sqlite support not compiled in (Luke Dashjr)6608fec332GUI: Create Wallet: Nicely disable descriptor wallet checkbox if sqlite support not compiled in (Luke Dashjr)7b54d768e1Make sqlite support optional (compile-time) (Luke Dashjr)fa56d56d4efuzz: Properly initialize PrecomputedTransactionData (MarcoFalke)d419fdedbe[net processing] Don't add AlreadyHave txs to recentRejects (Troy Giorshev)778cd0d88d[tests] Remove getnettotals/getpeerinfo consistency test (John Newbery)47ff5098ad[test] Clarify setup of node topology. (Amiti Uttarwar)0672522aed[move-only, test]: Match test order with run order (Amiti Uttarwar)a193f969eeqt: Pre-splitoff translations update (Wladimir J. van der Laan)7b2e42ecc4qt: Add WalletFrame::sizeHint (Hennadii Stepanov)fa9b48549ctest: Add test for -blockversion (MarcoFalke)fa7fb0e442test: Default blockversion to 4 in feature_block (MarcoFalke)fa2b778d0ctest: Remove unused -blockversion from tests (MarcoFalke)47e2a35facdoc: Document ALLOW_HOST_PACKAGES dependency option (skmcontrib)defe48a51fdoc: Update wallet files in files.md (Hennadii Stepanov)903f3d0627fuzz: Check for addrv1 compatibility before using addrv1 serializer (practicalswift)20c9e03554gui: Call setWalletActionsEnabled(true) only for the first wallet (Hennadii Stepanov)6954156b40qt: Fix visual quality of text in QR image (Hennadii Stepanov)8071c75d45qt, refactor: Limit scope of QPainter object (Hennadii Stepanov)56a461f727wallet: fix buffer over-read in SQLite file magic check (Sebastian Falbesoner)6ed4bcabc1qt: Wrap tooltips in the intro window (Hennadii Stepanov)fa299ac273test: Speed up wallet_resendwallettransactions test with mockscheduler RPC (MarcoFalke)fa5a91a352test: Fix typo (one tx is enough) in p2p_feefilter (MarcoFalke)fa3af2c0d3test: Fix intermittent issue in p2p_feefilter (MarcoFalke)5aadd4be18Convert amounts from float to decimal (Prayank)fa5f46600ftest: Fix rpc_net intermittent issue (MarcoFalke)fa4074b395Show name, format and if uses descriptors in bitcoin-wallet tool (Jonas Schnelli)3c7d9ab8c8test: Move (dis)?connect_nodes globals into TestFramework as helpers (Elliott Jin)4b16c61461scripted-diff: test: Replace uses of (dis)?connect_nodes global (Prayank)be386840d4test: Replace use of (dis)?connect_nodes globals (Elliott Jin)2d5793c016Bugfix: chainparams: Add missing (disabled) Taproot deployment for Signet (Luke Dashjr)624bab00ddtest: add coverage for getwalletinfo format field (Jon Atack)5e737a0092rpc, wallet: Expose database format in getwalletinfo (João Barbosa)c8abbc9d1fp2p: declare Announcement::m_state as uint8_t, add getter/setter (Jon Atack)fa38093beedoc: Merge release notes (MarcoFalke)fa48405ef8Warn on unknown rw_settings (MarcoFalke)faab86f6c8test: Fix intermittent issue in wallet_send (MarcoFalke)faca3734c0test: Fix intermittent issue in wallet_import_rescan (MarcoFalke)76bbcc414ftest: Fix -Wunused-function warning if configured --without-libs (Hennadii Stepanov)bd5215103erandom: fixes read buffer resizing in RandAddSeedPerfmon (Ethan Heilman)95fedd33a2refactor: Clean up -Wlogical-op warning (maskoficarus)da0988daf1scripted-diff: rename vRecvGetData (Neha Narula)ba951812ecGuard vRecvGetData (now in net processing) with its own mutex (Neha Narula)2d9f2fca43Move vRecvGetData to net processing (Neha Narula)673247b58cLock before checking if orphan_work_set is empty; indicate it is guarded (Neha Narula)8803aee668Move m_orphan_work_set to net_processing (Neha Narula)9c47cb29f9[Rename only] Rename orphan_work_set to m_orphan_work_set. (Neha Narula)b128b56672test: add logging for mining_getblocktemplate_longpoll.py (Sebastian Falbesoner)8ee3536b2btest: remove unused helpers random_transaction(), make_change() and gather_inputs() (Sebastian Falbesoner)fddce7e199test: use MiniWallet for mining_getblocktemplate_longpoll.py (Sebastian Falbesoner)51365674e8script: Make ComputeEntrySchnorr and ComputeEntryECDSA const to clarify contract (practicalswift)fa68755364contrib: Fix gen_key_io_test_vectors.py imports (MarcoFalke)0d9d2a1f7cOnly update the updateSmartFeeLabel once in sync (Jonas Schnelli)d438d609cdQA: Use GBT to get block versions correct (Luke Dashjr)1df2cd1c8fQA: blocktools: Accept block template to create_block (Luke Dashjr)fa723e3d43Initialize default-initialized uint256 consensus params to zero explicitly (MarcoFalke)fa729cdb2cdoc: Move assumed-values doxygen comments to header (MarcoFalke)fa64892b82signet: Fix uninitialized read in validation (MarcoFalke)1d22300b99Address functional test nits (Pieter Wuille)5669642a0bdocs: mention BIPs 340-342 in doc/bips.md (Pieter Wuille)3333077823rpc: Adjust witness-tx deserialize error message (MarcoFalke)cccc752569rpc: Properly deserialize txs with witness before signing (MarcoFalke)41dca087b7[trivial] Extract connection type doc into file where it is used. (Amiti Uttarwar)3069b56a45[doc] Improve help for getpeerinfo connection_type field. (Amiti Uttarwar)a490d074b3doc: Add anchors.dat to files.md (Hennadii Stepanov)0a85e5a7bcp2p: Try to connect to anchors once (Hennadii Stepanov)5543c7ab28p2p: Fix off-by-one error in fetching address loop (Hennadii Stepanov)4170b46544p2p: Integrate DumpAnchors() and ReadAnchors() into CConnman (Hennadii Stepanov)bad16aff49p2p: Add CConnman::GetCurrentBlockRelayOnlyConns() (Hennadii Stepanov)c29272a157p2p: Add ReadAnchors() (Hennadii Stepanov)567008d2a0p2p: Add DumpAnchors() (Hennadii Stepanov)6272604befrefactor: enable -netinfo to add future networks (i2p, cjdns) (Jon Atack)82fd40216crefactor: promote some -netinfo localvars to class members (Jon Atack)5133fab37ecli: simplify -netinfo using getpeerinfo network field (Jon Atack)4938a109adrpc, test: expose CNodeStats network in RPC getpeerinfo (Jon Atack)6df7882029net: add peer network to CNodeStats (Jon Atack)faad92fe1ctest: Remove unused nVersion=1 in p2p tests (MarcoFalke)5b57dc5458RPC: getpeerinfo: Wrap long help line for bytesrecv_per_msg (Luke Dashjr)d681a28219RPC: getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions") (Luke Dashjr)886be97af5Ignore incorrectly-serialized banlist.dat entries (Pieter Wuille)883cea7deaRestore compatibility with old CSubNet serialization (Pieter Wuille)27fc6a38f8DecodeHexTx: Break out transaction decoding logic into own function (Gregory Sanders)6020ce3c01DecodeHexTx: Try case where txn has inputs first (Gregory Sanders)0e2a5e448ftests: dumping and minimizing of script assets data (Pieter Wuille)4567ba034ctests: add generic qa-asset-based script verification unit test (Pieter Wuille)f06e6d0345tests: functional tests for Schnorr/Taproot/Tapscript (Pieter Wuille)3c226639ebtests: add BIP340 Schnorr signature support to test framework (Pieter Wuille)206fb180ec--- [TAPROOT] Tests --- (Pieter Wuille)d7ff237f29Activate Taproot/Tapscript on regtest (BIP 341, BIP 342) (Pieter Wuille)e9a021d7e6Make Taproot spends standard + policy limits (Pieter Wuille)865d2c37e2--- [TAPROOT] Regtest activation and policy --- (Pieter Wuille)72422ce396Implement Tapscript script validation rules (BIP 342) (Johnson Lau)330de894a9Use ScriptExecutionData to pass through annex hash (Pieter Wuille)8bbed4b7acImplement Taproot validation (BIP 341) (Pieter Wuille)0664f5fe1fSupport for Schnorr signatures and integration in SignatureCheckers (BIP 340) (Pieter Wuille)5de246ca81Implement Taproot signature hashing (BIP 341) (Johnson Lau)9eb590894fAdd TaggedHash function (BIP 340) (Pieter Wuille)450d2b2371--- [TAPROOT] BIP340/341/342 consensus rules --- (Pieter Wuille)5d62e3a68brefactor: keep spent outputs in PrecomputedTransactionData (Pieter Wuille)8bd2b4e784refactor: rename scriptPubKey in VerifyWitnessProgram to exec_script (Pieter Wuille)107b57df9fscripted-diff: put ECDSA in name of signature functions (Pieter Wuille)f8c099e220--- [TAPROOT] Refactors --- (Pieter Wuille)c4a29d0a90Update wallet_multiwallet.py for descriptor and sqlite wallets (Russell Yanofsky)310b0fde04Run dumpwallet for legacy wallets only in wallet_backup.py (Andrew Chow)6c6639ac9fInclude sqlite3 in documentation (Andrew Chow)f023b7cac0wallet: Enforce sqlite serialized threading mode (Andrew Chow)6173269866Set and check the sqlite user version (Andrew Chow)9d3d2d263cUse network magic as sqlite wallet application ID (Andrew Chow)9af5de3798Use SQLite for descriptor wallets (Andrew Chow)9b78f3ce8ewalletutil: Wallets can also be sqlite (Andrew Chow)ac38a87225Determine wallet file type based on file magic (Andrew Chow)6045f77003Implement SQLiteDatabase::MakeBatch (Andrew Chow)727e6b2a4eImplement SQLiteDatabase::Verify (Andrew Chow)b4df8fdb19Implement SQLiteDatabase::Rewrite (Andrew Chow)010e365906Implement SQLiteDatabase::TxnBegin, TxnCommit, and TxnAbort (Andrew Chow)ac5c1617e7Implement SQLiteDatabase::Backup (Andrew Chow)f6f9cd6a64Implement SQLiteBatch::StartCursor, ReadAtCursor, and CloseCursor (Andrew Chow)bf90e033f4Implement SQLiteBatch::ReadKey, WriteKey, EraseKey, and HasKey (Andrew Chow)7aa45620e2Add SetupSQLStatements (Andrew Chow)6636a2608aImplement SQLiteBatch::Close (Andrew Chow)93825352a3Implement SQLiteDatabase::Close (Andrew Chow)a0de83372bImplement SQLiteDatabase::Open (Andrew Chow)3bfa0fe125Initialize and Shutdown sqlite3 globals (Andrew Chow)5a488b3d77Constructors, destructors, and relevant private fields for SQLiteDatabase/Batch (Andrew Chow)ca8b7e04abImplement SQLiteDatabaseVersion (Andrew Chow)7577b6e1c8Add SQLiteDatabase and SQLiteBatch dummy classes (Andrew Chow)e87df82580Add sqlite to travis and depends (Andrew Chow)54729f3f4eAdd libsqlite3 (Andrew Chow)52380bf304Squashed 'src/secp256k1/' changes from 8ab24e8dad..c6b6b8f1bb (Pieter Wuille)fa1f6f237dnet: Send post-verack handshake messages at most once (MarcoFalke)fd9a0060f0Report and verify expirations (Pieter Wuille)86f50ed10fDelete limitedmap as it is unused now (Pieter Wuille)cc16fff3e4Make txid delay penalty also apply to fetches of orphan's parents (Pieter Wuille)173a1d2d3fExpedite removal of tx requests that are no longer needed (Pieter Wuille)de11b0a4efReduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers (Pieter Wuille)242d16477dChange transaction request logic to use txrequest (Pieter Wuille)5b03121d60Add txrequest fuzz tests (Pieter Wuille)3c7fe0e5a0Add txrequest unit tests (Pieter Wuille)da3b8fde03Add txrequest module (Pieter Wuille)ba8950ee01build: optionally skip external warnings (Vasil Dimov)135afa749cwallet: remove db mode string (Ivan Metlushko)8e4d62280etests: don't export in6addr_loopback (Vasil Dimov)88197b0769[doc] release notes for max fee checking (gzhao408)c201d73df3style and nits for fee-checking in BroadcastTransaction (gzhao408)c056064a4agui: Fix SplashScreen crash when run with -disablewallet (Hennadii Stepanov)5b77f8098dtest: add p2p_lock acquires in p2p_leak_tx.py (Sebastian Falbesoner)cc8c6823b4test: use MiniWallet for p2p_leak_tx.py (Sebastian Falbesoner)d1292f25f2Avoid the use of abs64 in timedata (Pieter Wuille)3984b78cd7test: Add tests for CNode::ConnectedThroughNetwork (Hennadii Stepanov)49fba9c1aanet: Add CNode::ConnectedThroughNetwork member function (Hennadii Stepanov)d4dde24034net: Add CNode::m_inbound_onion data member (Hennadii Stepanov)56f9dba015Only relay IPv4, IPv6, Tor addresses (Pieter Wuille)79f3d9b932Mention BIP155 in doc/bips.md (Pieter Wuille)dcf0cb4776tor: make a TORv3 hidden service instead of TORv2 (Vasil Dimov)353a3fdaadnet: advertise support for ADDRv2 via new message (Vasil Dimov)201a4596d9net: CAddress & CAddrMan: (un)serialize as ADDRv2 (Vasil Dimov)1d3ec2a1fdSupport bypassing range check in ReadCompactSize (Pieter Wuille)faa0847decdoc: Add release notes for #20101 (MarcoFalke)99992e7832doc: Collect release-notes snippets (MarcoFalke)2dc79c4264doc: Update and improve files.md (Hennadii Stepanov)faf2999e25cirrus: Use kvm to avoid spurious CI failures in the default virtualization cluster (MarcoFalke)1afcd41a90[net] Remove CombinerAll (John Newbery)907f142fc7rpc: change no wallet loaded message to be clearer (Andrew Chow)fae7a1c188fuzz: Configure check for main function (MarcoFalke)b6834e312aAvoid 'timing mishap' warnings when mocking (Pieter Wuille)ec3916f40aUse mockable time everywhere in net_processing (Pieter Wuille)d103484fe8util: Do not use gArgs global in ArgsManager member functions (Hennadii Stepanov)b048b275d9[validation] Remove absurdfee from accepttomempool (John Newbery)932564b9cfscripted-diff: update max-fee-exceeded error message to include RPC (gzhao408)8f1290c601[rpc/node] check for high fee before ATMP in clients (gzhao408)c83155b406Bump vcpkg commit ID to get new msys mirror list (Aaron Clauson)a56e9f5670test: Assert exclusive PSBT funding options (Oliver Gugger)64bc5efd39test: Assert PSBT change type (Oliver Gugger)1885ad3546RPC: remove duplicate line in getblock help (Fabian Jahr)675e55e013Ignore unknown messages before VERACK (Suhas Daftuar)33df8d46bbci: Build Arm64 on Travis without functional tests (Fabian Jahr)3491bf358atest: Mention commit id in scripted diff error (Wladimir J. van der Laan)a91ab86faelint: Use TRAVIS_BRANCH in lint-git-commit-check.sh (Fabian Jahr)c11dc995c9lint: Don't use TRAVIS_COMMIT_RANGE in whitespace linter (Fabian Jahr)1b41ce8f5flint: Don't use TRAVIS_COMMIT_RANGE for commit-script-check (Fabian Jahr)f471a3be00scripted diff: Improve invalid vout value rpc error message (Nima Yazdanmehr)c1585bca8dtest: Get rid of default wallet hacks (Russell Yanofsky)ed3acda33btest, refactor: add default_wallet_name and wallet_data_filename variables (Russell Yanofsky)f36887fa47net: rename CNetAddr scopeId to m_scope_id, improve code doc (Jon Atack)5cb5fd3005test: add test coverage for CNetAddr ipv6 scoped addresses (Jon Atack)d76925478e[doc] Clarify semantic of peer's m_protect w.r.t to outbound eviction logics (Antoine Riard)ac71fe936d[doc] Clarify scope of eviction protection of outbound block-relay peers (Antoine Riard)96571b3d4cdoc: Update onion service target port numbers in tor.md (Hennadii Stepanov)bb145c9050net: Extend -bind config option with optional network type (Hennadii Stepanov)92bd3c1da4net, refactor: Move AddLocal call one level up (Hennadii Stepanov)57f17e57c8net: Pass onion service target to Tor controller (Hennadii Stepanov)e3f07851f0refactor: Rename TorController::target to m_tor_control_center (Hennadii Stepanov)fdd3ae4d26net, refactor: Refactor CBaseChainParams::RPCPort function (Hennadii Stepanov)a5266d4546net: Add alternative port for onion service (Hennadii Stepanov)b3273cf403net: Use network byte order for in_addr.s_addr (Hennadii Stepanov)7eab781a14rpc: Set HTTP Content-Type in bitcoin-cli (Wladimir J. van der Laan)82b70f15c7refactor: fix -Wbraced-scalar-init warning in validation tests (fanquake)7532c9a221qt: Periodic translations update (Wladimir J. van der Laan)598e3b1ed3tx: Update transifex slug for 0.21 (Wladimir J. van der Laan)e66870c5a4zmq: Append address to notify log output (nthumann)241803da21test: Add zmq test to support multiple interfaces (nthumann)a0b2e5cb6adoc: Add release notes to support multiple interfaces (nthumann)b1c3f180ecdoc: Adjust ZMQ usage to support multiple interfaces (nthumann)347c94f551zmq: Add support to listen on multiple interfaces (Nicolas Thumann)6fccad7f71signet: do not log signet startup messages for other chains (Jon Atack)825fcae484[tests] Replace bytes literals with hex literals (John Newbery)64eca45100[tests] Fix pep8 style violations in address.py (John Newbery)b230f8b3f3[tests] Correct docstring for address.py (John Newbery)ea70e6a2ca[tests] Tidy up imports in address.py (John Newbery)7f639df0b8[tests] Remove unused optional verify_checksum parameter (John Newbery)011e784f74[tests] Rename segwit encode and decode functions (John Newbery)e4557133f5[tests] Move bech32 unit tests to test framework (John Newbery)fa29b5ae66test: Add signet witness commitment section parse tests (MarcoFalke)fa23308e9aRemove gArgs global from CreateChainParams to aid testing (MarcoFalke)8de51d1513doc: elaborate on release notes wrt netmasks (Vasil Dimov)001343f4bcProcessOrphanTx: Move AddToCompactExtraTransactions call into ProcessOrphanTx (John Newbery)4fce726bd1ProcessOrphanTx: Remove aliases (John Newbery)e07c5d9423ProcessOrphanTx: Remove outdated commented (John Newbery)4763b51bcaProcessOrphanTx: remove useless setMisbehaving set (John Newbery)55c79a9cefProcessOrphanTx: remove useless done variable (John Newbery)6e8dd99ef1[net processing] Add doxygen comments for orphan data and function (John Newbery)fa710a6d67doc: Add 19501 release notes (MarcoFalke)faf60dee34doc: Remove double-whitespace from help string, other whitespace fixups (MarcoFalke)af57766182Fix misleading error message: Clean stack rule (sanket1729)fac966142esignet: Add assumed values for default signet (MarcoFalke)69cf5d4eeb[test] Make sure send rpc returns fee reason (Sishir Giri)d5863c0b3e[send] Make send RPCs return fee reason (Sishir Giri)712f95d332Update msvc build to use new vcpkg manifest (Aaron Clauson)2ea62cae48Improve docs about feeler connections (Gleb Naumenko)8a4dcda414doc: Added default signet config for linearize script (gr0kchain)f22d6a1142log: Remove static log message "Initializing chainstate Chainstate [ibd] @ height -1 (null)" (practicalswift)9b4fa0af40net: Print error message if -proxy is specified without arguments (instead of continuing without proxy server) (practicalswift)62dba9628dlog: print unexpected version warning in validation log category (nthumann)a3abeec33apolicy/fees: remove a floating-point division by zero (Antoine Poinsot)c36869bbf6policy/fees: unify some duplicated for loops (Antoine Poinsot)569d92a4d2policy/fees: small readability improvements (Antoine Poinsot)5b8cb35621policy/fee: remove requireGreater parameter in EstimateMedianVal() (Antoine Poinsot)dba8196b44policy/fees: correct decay explanation comments (Antoine Poinsot)deb52711a1Remove header checks out of net_processing (Troy Giorshev)52d4ae46abGive V1TransportDeserializer CChainParams& member (Troy Giorshev)5bceef6b12Change CMessageHeader Constructor (Troy Giorshev)1ca20c1af8Add doxygen comment for ReceiveMsgBytes (Troy Giorshev)890b1d7c2bMove checksum check from net_processing to net (Troy Giorshev)2716647ebfGive V1TransportDeserializer an m_node_id member (Troy Giorshev)f7b331ea85rpc: add brackets to ConstructTransaction (Sjors Provoost)d813d26f06[rpc] send: various touch-ups (Sjors Provoost)0fc1c685e1[rpc] send: fix parsing replaceable option (Sjors Provoost)efc9b85e6fMark send RPC experimental (Sjors Provoost)faa94cb167test: Check that invalid peer traffic is accounted for (MarcoFalke)fae243f0cbtest: Remove confusing cast to same type (int to int) (MarcoFalke)b3972bca9fdoc: Mention signet in -help output (Hennadii Stepanov)7be6ff6187net: recognize TORv3/I2P/CJDNS networks (Vasil Dimov)e0d73573a3net: CNetAddr: add support to (un)serialize as ADDRv2 (Vasil Dimov)fe42411b4btest: move HasReason so it can be reused (Vasil Dimov)d2bb681f96util: move HasPrefix() so it can be reused (Vasil Dimov)090530cc24feature: Added ability for users to add a startup command (Ben Carman)4cc7171c98wallet: no need for duplicate storage for ABANDON_HASH constant (Anthony Towns)82cf4641f4scripted-diff: Replace UINT256_ONE() with uint256::ONE (Anthony Towns)183f308fffuint256: Update constructors to c++11, make ONE static (Anthony Towns)a5a6965157[Trivial] python help message (kanon)92e28fa8b2test: remove unused constants in functional tests (Sebastian Falbesoner)a512925e19[doc] Release notes (Amiti Uttarwar)50f94b34a3[rpc] Deprecate getpeerinfo addnode field (Amiti Uttarwar)df091b9b50[refactor] Rename test file to allow any getpeerinfo deprecations. (Amiti Uttarwar)395acfa83a[rpc] Add connection type to getpeerinfo RPC, update tests (Amiti Uttarwar)49c10a9ca4[log] Add connection type to log statement (Amiti Uttarwar)0fcaf73199test: use explicit p2p objects where available (Oliver Gugger)10d61505fe[test] remove confusing p2p property (gzhao408)549d30faf0scripted-diff: replace p2p with p2ps[0] in p2p_invalid_tx (gzhao408)7a0de46aea[doc] sample code for test framework p2p objects (gzhao408)784f757994[refactor] clarify tests by referencing p2p objects directly (gzhao408)72a1d5c6f3validation: Remove review-only comments + assertions (Carl Dong)3756853b15docs: Move FindFilesToPrune{,Manual} doxygen comment (Carl Dong)485899a93cstyle: Make FindFilesToPrune{,Manual} match style guide (Carl Dong)3f5b5f3f6dvalidation: Move FindFilesToPrune{,Manual} to BlockManager (Carl Dong)f8d4975ab3validation: Move PruneOneBlockFile to BlockManager (Carl Dong)74f73c783dvalidation: Pass in chainman to UnloadBlockIndex (Carl Dong)4668ded6d6validation: Move ~CMainCleanup logic to ~BlockManager (Carl Dong)7a89f2e6c5build: Fix target name (Hennadii Stepanov)fa14f57fbcAssert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet) (MarcoFalke)0bd1184adfRemove unused LockAssertion struct (Hennadii Stepanov)ab2a44297fReplace LockAssertion with a proper thread safety annotations (Hennadii Stepanov)73f71e1996refactor: Use explicit function type instead of template (Hennadii Stepanov)759d94e70fUpdate zmq notification documentation and sample consumer (Gregory Sanders)68c3c7e1bdAdd functional tests for zmq sequence topic and mempool sequence logic (Gregory Sanders)e76fc2b84dAdd 'sequence' zmq publisher to track all block (dis)connects, mempool deltas (Gregory Sanders)1b615e61bfzmq test: Actually make reorg occur (Gregory Sanders)facaf9e61fdoc: Document signet BIP (MarcoFalke)faf0a26711doc: Update comments for new chain settings (-signet and -chain=signet) (MarcoFalke)fae0548686fuzz: Remove needless guard (MarcoFalke)77771a03dfrefactor: Remove SignetTxs::m_valid and use optional instead (MarcoFalke)fa2ad5dae1test: Run signet test even when wallet was not compiled (MarcoFalke)e15344889aClarify blocksonly whitelistforcerelay test (t-bast)f07fb5a55ebuild: patch qt libpng to fix powerpc build (fanquake)fa6bb0ce5dAssert that RPCArg names are equal to CRPCCommand ones (rawtransaction) (MarcoFalke)fa80c81487Assert that RPCArg names are equal to CRPCCommand ones (blockchain) (MarcoFalke)ddefb5c0b7p2p: Use the greatest common version in peer logic (Hennadii Stepanov)e084d45562p2p: Remove SetCommonVersion() from VERACK handler (Hennadii Stepanov)8d2026796arefactor: Rename local variable nSendVersion (Hennadii Stepanov)e9a6d8b13bp2p: Unify Send and Receive protocol versions (Hennadii Stepanov)8258c4c007test: some sanity checks for consensus logic (Anthony Towns)e47ad375bftest: basic signet tests (Karl-Johan Alm)4c189abdc4test: add small signet fuzzer (practicalswift)ec9b25d046test: signet network selection tests (Karl-Johan Alm)3efe298dccsignet: hard-coded parameters for Signet Global Network VI (2020-09-07) (Karl-Johan Alm)c7898bca4eqt: update QT to support signet network (Karl-Johan Alm)a8de47a1c9consensus: add signet validation (Karl-Johan Alm)e8990f1214add signet chain and accompanying parameters (Karl-Johan Alm)404682b7cdadd signet basic support (signet.cpp) (Karl-Johan Alm)a2147d7dadvalidation: move GetWitnessCommitmentIndex to consensus/validation (Karl-Johan Alm)0d04784af1Refactor the functional test (Gleb Naumenko)83ad65f31bAddress nits in ADDR caching (Gleb Naumenko)81b00f8780Add indexing ADDR cache by local socket addr (Gleb Naumenko)42ec558542Justify the choice of ADDR cache lifetime (Gleb Naumenko)638441928atest: add parameterized constructor for msg_sendcmpct() (Sebastian Falbesoner)a06eb03deddoc: Add comments and additional reviewers to CODEOWNERS file (Adam Jonas)e02da22906doc: Add CODEOWNERS file (Wladimir J. van der Laan)6fe2ef2acbscripted-diff: Rename SendMessage to SendZmqMessage. (Daniel Kraft)a3ffb6ebebReplace zmqconfig.h by a simple zmqutil. (Daniel Kraft)7f2ad1b9acUse std::unique_ptr for CZMQNotifierFactory. (Daniel Kraft)b93b9d5456Simplify and fix notifier removal on error. (Daniel Kraft)e15b1cfc31Various cleanups in zmqnotificationinterface. (Daniel Kraft)ead771bf6fqt: Rename qt-init thread before logging start (Hennadii Stepanov)ad5f614bf3qt: Name ClientModel timer QThread (Hennadii Stepanov)2c7f5d8c2eqt: Name WalletController worker QThread (Hennadii Stepanov)27dcc37d42qt: Name RPCConsole executor QThread (Hennadii Stepanov)23c35bf005[test] add get_vsize util for more programmatic testing (gzhao408)2233a93a10[rpc] Return fee and vsize from testmempoolaccept (codeShark149)a5f5374b43test: create default wallet in extended tests (Sjors Provoost)d26f0648f1Tell users how to load or create a wallet when no wallet is loaded (Andrew Chow)1bee1e6269Do not create default wallet (Andrew Chow)fc7f84a9catests: Add fuzzing harness for Keccak and SHA3_256 (practicalswift)e1fdd2963bTest batch rpc with params (Gregory Sanders)a8a64acaf3[BroadcastTransaction] Remove unsafe move operator (Amiti Uttarwar)125c038126[p2p] Remove dead code (Amiti Uttarwar)fc66d0a65c[p2p] Check for nullptr before dereferencing pointer (Adam Jonas)cb79b9dbf4[mempool] Revert unbroadcast set to tracking just txid (Amiti Uttarwar)916d3596c4help: Generate checkpoint height from chainparams (Luke Dashjr)fc9278d162build: AX_PTHREAD serial 27 (fanquake)15c27c4441build: split PTHREAD_* flags out of AM_LDFLAGS (fanquake)68e3e22944scripted-diff: add FUZZ_SUITE_LDFLAGS_COMMON (fanquake)afecde8046build: add PTHREAD_LIBS to LDFLAGS configure output (fanquake)bf1f913c44cli -netinfo: display multiple levels of details (Jon Atack)077b3ac928cli: change -netinfo optional arg from bool to int (Jon Atack)4e2f2ddd64cli: add getpeerinfo last_{block,transaction} to -netinfo (Jon Atack)644be659abcli: add -netinfo server version check and error message (Jon Atack)ce57bf6cc0cli: create peer connections report sorted by dir, minping (Jon Atack)f5edd66e5dcli: create vector of Peer structs for peers data (Jon Atack)3a0ab93e1ccli: add NetType enum struct and NetTypeEnumToString() (Jon Atack)c227100919cli: create local addresses, ports, and scores report (Jon Atack)d3f77b736ecli: create inbound/outbound peer connections report (Jon Atack)19377b2fd2cli: start dashboard report with chain and version header (Jon Atack)a3653c159ecli: tally peer connections by type (Jon Atack)54799b66b4cli: add ipv6 and onion address type detection helpers (Jon Atack)12242b17a5cli: create initial -netinfo option, NetinfoRequestHandler class (Jon Atack)d11020019aAdd OpenBSD instructions for building the Qt GUI (grubles)92326d8976[rpc] add send method (Sjors Provoost)2c2a1445dc[rpc] add snake case aliases for transaction methods (Sjors Provoost)1bc8d0fd59[rpc] walletcreatefundedpsbt: allow inputs to be null (Sjors Provoost)812037cb80Change CSipHasher's count variable to uint8_t (Pieter Wuille)b9c1a76481Squashed 'src/secp256k1/' changes from 2ed54da18a..8ab24e8dad (Pieter Wuille)8b39a87558bugfix: make LoadWallet assigns status always (Akio Nakamura)faf251d854test: gettxoutproof duplicate txid (João Barbosa)faf5eb45c4test: Test empty array in gettxoutproof (MarcoFalke)fa56e866e8test: Run rpc_txoutproof.py even with wallet disabled (MarcoFalke)faba790bd4test: MiniWallet: Default fee_rate in send_self_transfer, Pass in utxo_to_spend (MarcoFalke)fa65a11d0ctest: bugfix: Actually pick largest utxo (MarcoFalke)fb3bacce69.gitignore: ignore qa-assets/ folder (eugene)a9f201439abuild: use DIR_FUZZ_SEED_CORPUS if specified for cov_fuzz target (eugene)062e6699c4script: fix zmq_sub.py file permissions (Jon Atack)36f8e0cce7doc: update PyZMQ installation instructions, ZeroMQ link (Jon Atack)ab654c7d58Unroll Keccak-f implementation (Pieter Wuille)3f01ddb01bAdd SHA3 benchmark (Pieter Wuille)2ac8bf9583Implement keccak-f[1600] and SHA3-256 (Pieter Wuille)fa188c9c59test: Use MiniWalet in p2p_feefilter (MarcoFalke)fa39c62eb7test: inline hashToHex (MarcoFalke)fa7e407b50Do not pass chain params to CheckForStaleTipAndEvictPeers twice (MarcoFalke)bb6a32ce99[net processing] Move Misbehaving() to PeerManager (John Newbery)aa114b1c9b[net_processing] Move SendBlockTransactions into PeerManager (John Newbery)3115e00f75[net processing] Move MaybePunishPeerForTx to PeerManager (John Newbery)e662e2d42a[net processing] Move ProcessOrphanTx to PeerManager (John Newbery)b70cd890e3[net processing] Move MaybePunishNodeForBlock into PeerManager (John Newbery)d7778351bf[net processing] Move ProcessHeadersMessage to PeerManager (John Newbery)64f6162651[whitespace] tidy up indentation after scripted diff (John Newbery)58bd369b0dscripted-diff: [net processing] Rename PeerLogicValidation to PeerManager (John Newbery)2297b26b3c[net_processing] Pass chainparams to PeerLogicValidation constructor (John Newbery)824bbd1ffb[move only] Collect all private members of PeerLogicValidation together (John Newbery)296be8f58eGet rid of unused functions CTxMemPool::GetMemPoolChildren, CTxMemPool::GetMemPoolParents (Jeremy Rubin)46d955d196Remove mapLinks in favor of entry inlined structs with iterator type erasure (Jeremy Rubin)fafb381af8Remove mempool global (MarcoFalke)fa0359c5b3Remove mempool global from p2p (MarcoFalke)eeee1104d7Remove mempool global from init (MarcoFalke)abac436760wallet: Avoid multiple BerkeleyBatch in DelAddressBook (João Barbosa)7bf6dfbb48wallet: Remove path checking code from bitcoin-wallet tool (Russell Yanofsky)77d5bb72b8wallet: Remove path checking code from createwallet RPC (Russell Yanofsky)a987438e9dwallet: Remove path checking code from loadwallet RPC (Russell Yanofsky)8b5e7297c0refactor: Pass wallet database into CWallet::Create (Russell Yanofsky)3c815cfe54wallet: Remove Verify and IsLoaded methods (Russell Yanofsky)0d94e60625refactor: Use DatabaseStatus and DatabaseOptions types (Russell Yanofsky)b5b414151awallet: Add MakeDatabase function (Russell Yanofsky)288b4ffb6bRemove WalletLocation class (Russell Yanofsky)637d8bce74Change FILE_CHAR_BLOCKLIST to FILE_CHARS_DISALLOWED (Benoit Verret)2f79e9d002refactor: remove unused header <arpa/inet.h> in protocol.cpp (Sebastian Falbesoner)56b018ca7ftest: Fix flaky wallet_basic test (Fabian Jahr)fa8e148714ci: Double tsan CPU and Memory to avoid global timeout (MarcoFalke)fa9ee52556doc: Add doxygen comment to IsRBFOptIn (MarcoFalke)faef4fc9b4Remove mempool global from interfaces (MarcoFalke)fa831684e5refactor: Add IsRBFOptInEmptyMempool (MarcoFalke)86d4cf42d9Increase the ip address relay branching factor for unreachable networks (Pieter Wuille)ac2ff4fb1erefactor: Avoid duplicate map lookup in ScriptToAsmStr (João Barbosa)4294e70690rawtransaction: fix argument in combinerawtransaction help message (Matthew Zipkin)581b343d5bAdd in/out connections to cli -getinfo (Jon Atack)d9cc13e88dUNIX_EPOCH_TIME fixup in rpc getnettotals (Jon Atack)1ab49b81cfAdd in/out connections to rpc getnetworkinfo (Jon Atack)020f0519ecrefactor: CTxMemPool::IsUnbroadcastTx() requires CTxMemPool::cs lock (Hennadii Stepanov)7c4bd0387arefactor: CTxMemPool::GetTotalTxSize() requires CTxMemPool::cs lock (Hennadii Stepanov)fa5fcb032brefactor: CTxMemPool::ClearPrioritisation() requires CTxMemPool::cs lock (Hennadii Stepanov)7140b31b90refactor: CTxMemPool::ApplyDelta() requires CTxMemPool::cs lock (Hennadii Stepanov)66e47e5e50refactor: CTxMemPool::UpdateChild() requires CTxMemPool::cs lock (Hennadii Stepanov)939807768arefactor: CTxMemPool::UpdateParent() requires CTxMemPool::cs lock (Hennadii Stepanov)f1ee37319awallet: Reload previously loaded wallets on GUI startup (Andrew Chow)7984c39be1test framework: serialize/deserialize inv type as unsigned int (Jon Atack)407175e0c2p2p: change CInv::type from int to uint32_t (Jon Atack)752e6ad533Protect localhost and block-relay-only peers from eviction (Suhas Daftuar)6de9429087qa: Changes v0.17.1 to v0.17.2 (nthumann)eb1c5d090f[doc] Follow developer notes, add comment about missing default. (Amiti Uttarwar)d5a57cef62[doc] Describe connection types in more depth. (Amiti Uttarwar)4829b6fcc6[refactor] Simplify connection type logic in ThreadOpenConnections (Amiti Uttarwar)1e563aed78[refactor] Simplify check for block-relay-only connection. (Amiti Uttarwar)da3a0be61b[test] Add explicit tests that connection types get set correctly (Amiti Uttarwar)1d74fc7df6[trivial] Small style updates (Amiti Uttarwar)ff6b9081ad[doc] Explain address handling logic in process messages (Amiti Uttarwar)dff16b184b[refactor] Restructure logic to check for addr relay. (Amiti Uttarwar)a6ab1e81f9[net] Remove unnecessary default args on OpenNetworkConnection (Amiti Uttarwar)8d6ff46f55scripted-diff: Rename `OUTBOUND` ConnectionType to `OUTBOUND_FULL_RELAY` (Amiti Uttarwar)0bbe26a1afwallet: filter for keys only before record deser in salvage (Andrew Chow)544e12a4e8walletdb: Add KeyFilterFn to ReadKeyValue (Andrew Chow)fa1cd9e1ddtest: Remove unused lock arg from BitcoinTestFramework.wait_until (MarcoFalke)fad2794e93test: Rename wait until helper to wait_until_helper (MarcoFalke)facb41bf1dtest: Remove unused p2p_lock in VersionBitsWarningTest (MarcoFalke)e36f802fa4lint: add C++ code linter (fanquake)c4be50fea3remove usage of boost::bind (fanquake)9bdde3c802build: add /usr/local/ to LCOV_FILTER_PATTERN for macOS builds (eugene)413e0d1d31Avoid callback when -blocknotify is empty (João Barbosa)b893688357depends: Specify LDFLAGS to cmake as well (Carl Dong)b3f541f618depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake (Carl Dong)8e121e5509depends: Cleanup CMake invocation (Carl Dong)8c7cd0c6d9depends: More robust cmake invocation (Carl Dong)3ecf0eca63depends: Use $($(package)_cmake) instead of cmake (Carl Dong)d780293e1enet: improve nLastBlockTime and nLastTXTime documentation (Jon Atack)fb56d37612p2p: ensure inv is GenMsgTx before ToGenTxid in inv processing (John Newbery)aa3621385etest: use CInv::MSG_WITNESS_TX flag in p2p_segwit (Jon Atack)24ee4f01eap2p: make gtxid(.hash) and fAlreadyHave localvars const (Jon Atack)b1c855453bp2p: use CInv block message helpers in net_processing.cpp (Jon Atack)acd6642167[net processing] Change AlreadyHaveTx() to take a GenTxid (John Newbery)5fdfb80b86[net processing] Change AlreadyHaveBlock() to take block_hash argument (John Newbery)430e183b89[net processing] Remove mempool argument from AlreadyHaveBlock() (John Newbery)42ca5618ca[net processing] Split AlreadyHave() into separate block and tx functions (John Newbery)39f1dc9445p2p: remove nFetchFlags from NetMsgType TX and INV processing (Jon Atack)471714e1f0p2p: add CInv block message helper methods (Jon Atack)c276df7759zmq: enable tcp keepalive (mruddy)36ec9801a4test: Add chacha20 test vectors in muhash (Fabian Jahr)0e2b400featest: Add basic Python/C++ Muhash implementation parity unit test (Fabian Jahr)b85543cb73test: Add Python MuHash3072 implementation to test framework (Pieter Wuille)ab30cece0etest: Move modinv to util and add unit test (Fabian Jahr)ea74e10acfdoc: Add best practice for annotating/asserting locks (Hennadii Stepanov)2ee7743fe7sync.h: Make runtime lock checks require compile-time lock checks (Anthony Towns)23d71d171eDo not hide compile-time thread safety warnings (Hennadii Stepanov)3ddc150857Add missed thread safety annotations (Hennadii Stepanov)af9ea55a72Use LockAssertion utility class instead of AssertLockHeld() (Hennadii Stepanov)3340dbadd3Remove -zapwallettxes (Andrew Chow)7356292e1dHave zmq reorg test cover mempool txns (Gregory Sanders)a0f4f9c983Add zmq test for transaction pub during reorg (Gregory Sanders)2399a0600cAdd test case for mempool->block zmq notification (Gregory Sanders)e70512a83cMake ordering of zmq consumption irrelevant to functional test (Gregory Sanders)fa3d9ce325rpc: Assert that RPCArg names are equal to CRPCCommand ones (rpcdump) (MarcoFalke)fa32c1d5ecrpc: Assert that RPCArg names are equal to CRPCCommand ones (zmq) (MarcoFalke)faaa46dc20rpc: Assert that RPCArg names are equal to CRPCCommand ones (mining) (MarcoFalke)fa93bc14c7rpc: Remove unused return type from appendCommand (MarcoFalke)a104caeb40Update the vcpkg checkout commit ID in appveyor config. (Aaron Clauson)0374e821bdutil: Hard code previous release tarball checksums (Hennadii Stepanov)bd897ce79fscripted-diff: Move previous_release.py to test/get_previous_releases.py (Hennadii Stepanov)6d1f51343c[rpc] fundrawtransaction, walletcreatefundedpsbt lock manually selected coins (Sjors Provoost)772ea4844cwallet: Avoid recursive lock in IsTrusted (João Barbosa)819f10f671wallet, refactor: Immutable CWalletTx::pwallet (João Barbosa)46fcac1e4btests: Add fuzzing harness for ec_seckey_import_der(...) and ec_seckey_export_der(...) (practicalswift)b667a90389tests: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...) (practicalswift)24bf17602cgui refactor: Inline SplashScreen::ConnectWallet (Russell Yanofsky)e4f4350471refactor: Move wallet methods out of chain.h and node.h (Russell Yanofsky)b266b3e0bfrefactor: Create interfaces earlier during initialization (Russell Yanofsky)3edc4e34febench: Prevent thread oversubscription (Hennadii Stepanov)ce3e6a7cb2bench: Allow skip benchmark (Hennadii Stepanov)fa0572d0f3Pass mempool reference to chainstate constructor (MarcoFalke)c4b85ba704Bugfix: Define and use HAVE_FDATASYNC correctly outside LevelDB (Luke Dashjr)b35e74ba37wallet, refactor: Remove duplicate map lookups in GetAddressBalances (João Barbosa)fa1fc536bbtest: Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles (MarcoFalke)3ec8f4c080Set appveyor vm version to previous Visual Studio 2019 release. (Aaron Clauson)b536813cefbuild: add -fstack-clash-protection to hardening flags (fanquake)076183b36bbuild: add -fcf-protection=full to hardening options (fanquake)ca185cf5a1doc: Document differences in bitcoind and bitcoin-qt locale handling (practicalswift)8e35bf5906scripted-diff: rename misbehavior members (John Newbery)1f96d2e673[net processing] Move misbehavior tracking state to Peer (John Newbery)7cd4159ac8[net processing] Add Peer (John Newbery)aba03359a6[net processing] Remove CNodeState.name (John Newbery)4ec49f8d1eqt: Leverage the default "Create new receiving address" button (Hennadii Stepanov)4227a8e1f3qt: Make "Create new receiving address" default unconditionally (Hennadii Stepanov)7b6d0f10a7Remove old check for 3-byte shifted IP addresses from pre-0.2.9 node messages (Raúl Martínez (RME))d3e8adfadautil: remove c-string interfaces for DecodeBase58{Check} (Sebastian Falbesoner)c91b241b48Updated outdated help command for getblocktemplate (fixes #19625) (Jake Leventhal)9034f6e30eDrop deprecated and unused GUARDED_VAR and PT_GUARDED_VAR annotations (Hennadii Stepanov)df536883d2chain: Remove UB CChain comparison (Carl Dong)cc26fab48dtests: Add fuzzing harness for CNode (practicalswift)b6dcc6d741gui: Clarify block height label (Hennadii Stepanov)a99a3c0bd6rpc: Validate provided keys for query_options parameter in listunspent (pasta)b8405b833awallet: IsChange requires cs_wallet lock (João Barbosa)d8441f30ffwallet: IsMine overloads require cs_wallet lock (João Barbosa)a13cafc6c6wallet: GetWalletTx requires cs_wallet lock (João Barbosa)3de365e4f1build: replace wingenminiupnpcstrings sed with a patch in miniupnpc package (fanquake)bbc01a753dbuild: replace qtranslations lrelease sed with a patch in qt package (fanquake)c723e4176ebuild: replace FreeType back-compat sed with a patch in qt package (fanquake)3aaa39d436build: replace pwd sed in qt package with a patch (fanquake)9d440f4e11build: remove no-longer needed qt workaround (fanquake)bf85eace1abuild: remove no-longer needed qt configure workaround (fanquake)4af59a407abuild: use patch rather than sed in zeromq package (fanquake)cc107a3af1build: use patch rather than sed in native_cctools package (fanquake)865cb23a48build: use patch rather than sed in fontconfig package (fanquake)335bd7f8bcbuild: use patch rather than sed in Boost package (fanquake)f36140d00cbuild: use patch rather than sed in bdb package (fanquake)d841301010test: Add docstring to wait_until() in util.py to warn about its usage (Seleme Topuz)1343c86c7ctest: Update wait_until usage in tests not to use the one from utils (Seleme Topuz)fafc9d5af4test: Fix intermittent issue in wallet_bumpfee (MarcoFalke)fa347b2f25test: Select at least the fee in wallet_bumpfee to avoid negative amounts (MarcoFalke)519cae8fd6gui: Delay interfaces::Node initialization (Russell Yanofsky)102abff9ebgui: Replace interface::Node references with pointers (Russell Yanofsky)91aced7c7egui: Remove unused interfaces::Node references (Russell Yanofsky)e133631625gui: Partially revert #10244 gArgs and Params changes (Russell Yanofsky)e2aa1a585autil: make EncodeBase64 consume Spans (Sebastian Falbesoner)2bc207190eutil: make EncodeBase32 consume Spans (Sebastian Falbesoner)d5800da519[test] Remove final references to mininode (John Newbery)5e8df3312etest: resort imports (John Newbery)85165d4332scripted-diff: Rename mininode to p2p (John Newbery)9e2897d020scripted-diff: Rename mininode_lock to p2p_lock (John Newbery)fa9d5902f7scripted-diff: gArgs -> args (MarcoFalke)fa33bc2dabinit: Capture copy of blocknotify setting for BlockNotifyCallback (MarcoFalke)fa40017706init: Pass reference to ArgsManager around instead of relying on global (MarcoFalke)fad84b7e14test: Activate segwit in TestChain100Setup (MarcoFalke)fa11ff2980test: Pass empty tx pool to block assembler (MarcoFalke)fa96574b0dtest: Move doxygen comment to header (MarcoFalke)102867c587net: change CNetAddr::ip to have flexible size (Vasil Dimov)1ea57ad674net: don't accept non-left-contiguous netmasks (Vasil Dimov)9ab4cafabdRefactor Get{Prevout,Sequence,Outputs}Hash to Get{Prevouts,Sequences,Outputs}SHA256. (Jeremy Rubin)6510d0ff41Add SHA256Uint256 helper functions (Jeremy Rubin)b475d7d0faAdd single sha256 call to CHashWriter (Jeremy Rubin)1ccb9f30c0Move Win32 defines to configure.ac to ensure they are globally defined (Luke Dashjr)f642b49af7build: Drop ZeroMQ patch for glibc < 2.12 (Hennadii Stepanov)079df9609ebuild: Drop ZeroMQ patch for Mingw-w64 < 4.0 (Hennadii Stepanov)5da96210fcdoc: release note for getpeerinfo last_block/last_transaction (Jon Atack)cfef5a2c98test: rpc_net.py logging and test naming improvements (Jon Atack)21c57bacdatest: getpeerinfo last_block and last_transaction tests (Jon Atack)8a560a7d57rpc: expose nLastBlockTime/TXTime as getpeerinfo last_block/transaction (Jon Atack)02fbe3ae0bnet: add nLastBlockTime/TXTime to CNodeStats, CNode::copyStats (Jon Atack)daed542a12[net_processing] Move ProcessMessage to PeerLogicValidation (John Newbery)c556770b5e[net_processing] Change PeerLogicValidation to hold a connman reference (John Newbery)366913e307build: AX_BOOST_THREAD serial 33 (Igor Cota)cf0681133abuild: disable D-Bus on Android by default (Igor Cota)fa30d5282cdoc: Remove label from good first issue template (MarcoFalke)15ae4a17c4test/fuzz: add a seed corpus generation option to the test_runner (Antoine Poinsot)4af4672525build, qt: Add Qt version checking (Hennadii Stepanov)30e336f785build: Drop unused bitcoin_cv_qt58 (Hennadii Stepanov)4148f55dd0docs: Correct description for getblockstats's txs field (Nadav Ivgi)5067c5acc3[test] Add test for getblockheader verboseness (Torhte Butler)8ed2f1ed78Remove unused includes (Marcin Jachymiak)cf095a53fcMove comment about BaseIndex::DB from TxIndex::DB (Marcin Jachymiak)124e1ee134doc: Add release notes for getindexinfo RPC (Fabian Jahr)c447b09458test: Add tests for getindexinfo RPC (Fabian Jahr)667bc7a7f7rpc: Add getindexinfo RPC (Fabian Jahr)ed5cd12869test: Distinguish between nodes(bitcoind) and peers(mininodes) in p2p_leak.py (Dhruv Mehta)f6f082b934test: remove `CNodeNoVersionIdle` from p2p_leak.py (Dhruv Mehta)45cf55ccactest: remove `CNodeNoVersionMisbehavior` from p2p_leak.py (Dhruv Mehta)333329dbdadoc: Fix getmempoolancestor RPC result doc (MarcoFalke)71e0f07e9cutil: remove unused c-string variant of atoi64() (Sebastian Falbesoner)356988e200util: make EncodeBase58Check consume Spans (Sebastian Falbesoner)f0fce0675dutil: make EncodeBase58 consume Spans (Sebastian Falbesoner)fa0538e94dci: Set cirrus RAM to 8GB (MarcoFalke)fa41810d0eci: Run valgrind fuzzer on cirrus (MarcoFalke)7e31ea9fa0-maxapsfee: follow-up fixes (Karl-Johan Alm)9f77b82176doc: release notes for -maxapsfee (Karl-Johan Alm)72ae20fc14tests: add sync_all to fix race condition in wallet groups test (Karl-Johan Alm)2f8a4c9a06build: Enable some commonly enabled compiler diagnostics (practicalswift)4792cad88cdoc: comment out and add annotation to unused MSG_FILTERED_WITNESS_BLOCK (Adam Jonas)fa55c1d5fdbuild: Add Werror=range-loop-analysis (MarcoFalke)7668db3b08Move only: Move CDiskTxPos to its own file (Marcin Jachymiak)7f13dfb587test: test the implicit avoid partial spends functionality (Karl-Johan Alm)b82067bf69wallet: try -avoidpartialspends mode and use its result if fees are below threshold (Karl-Johan Alm)767073fb96Shrink CAddress from 48 to 40 bytes on x64 (Vasil Dimov)9e7894357etest: speedup p2p_feefilter.py by whitelisting peers (immediate tx relay) (Sebastian Falbesoner)fe3f0cc44etest: use wait_until for invs matching in p2p_feefilter.py (Sebastian Falbesoner)6d941923c3test: add logging for p2p_feefilter.py (Sebastian Falbesoner)fa330ec2fetest: Remove confusing and broken use of wait_until global (MarcoFalke)fa6583c30bci: Set increased --timeout-factor by default (MarcoFalke)6cb8771173build: Add missed gcov files to 'make clean' (Hennadii Stepanov)7966aa424aAdd variables for repeated scripts (MeshCollider)fec8336ad9Remove GetScriptForWitness function (MeshCollider)b887060d06Replace usage of GetScriptForWitness with GetScriptForDestination (MeshCollider)642ad31b41Add loadwallet and createwallet RPC load_on_startup options (Russell Yanofsky)9adc2f80fcRefactor OutputGroups to handle effective values, fees, and filtering (Andrew Chow)7d07e864b8Use real value when calculating OutputGroup value (Andrew Chow)0e279fe489walletdb: Remove unused static functions from walletdb.h (Andrew Chow)9f536d4fe9wallettool: Have RecoverDatabaseFile return errors and warnings (Andrew Chow)06e263a4e3Call RecoverDatabaseFile directly from wallettool (Andrew Chow)35cd2da623test: Fix 'make cov' with clang (Hennadii Stepanov)dca28634d7test: ensure OP_1NEGATE satisfies BIP62 minimal push rule (Jon Atack)e629d07199Do not turn OP_1NEGATE in scriptSig into 0x0181 in signing code (Pieter Wuille)f0aa8aeea5test: add rpc_generate functional test (Jon Atack)92d94ffb8drpc: print useful help and error message for generate (Jon Atack)8d32d2011dtest: consider generate covered in _get_uncovered_rpc_commands() (Jon Atack)e7448d6680wallet: Don't override signing errors (Fabian Jahr)fa77de2baarpc: Assert that RPCArg names are equal to CRPCCommand ones (misc) (MarcoFalke)fa50bdc755rpc: Limit echo to 10 args (MarcoFalke)fa89ca9b5brefactor: Use C++11 range based for loops to simplify rpc code (MarcoFalke)fa459bdc87rpc: Treat all args after a hidden arg as hidden as well (MarcoFalke)f110b7c722rpc: document returned error fields as optional if applicable (Sebastian Falbesoner)f5c003d3ea[test] Add test for NODE_COMPACT_FILTER. (Jim Posen)132b30d9c8[net] Signal NODE_COMPACT_FILTERS if we're serving compact filters. (Jim Posen)b3fbc94d4fApply cfilters review fixups (John Newbery)c133cdcdc3Cap listsinceblock target_confirmations param (Adam Stein)386ec192a5Reduce cs_main lock accumulation during GUI startup (Jonas Schnelli)d42cb79068Optionally populate BlockAndHeaderTipInfo during AppInitMain (Jonas Schnelli)b354a1480aAdd BlockAndHeaderTipInfo to the node interface/appInit (Jonas Schnelli)25e1d0bf41RPCConsole, take initial chaintip data as parameter (Jonas Schnelli)79d6332e9emoveonly: Fix indentation in bumpfee RPC (Andrew Chow)431071c28aHide bumpfee's psbt creation behavior behind -deprecatedrpc (Andrew Chow)4638224f64Add psbtbumpfee RPC (Andrew Chow)75f9659d7abuild: Add missed fuzz.coverage/ directory to .gitignore (Hennadii Stepanov)8ebc0505e9build: Add missed fuzz_filtered.info to COVERAGE_INFO (Hennadii Stepanov)c71bdf93d7build, test: Add support for llvm-cov (Hennadii Stepanov)a51d0ad2derpc: Improve addnode remove command error message (Fabian Jahr)37a480e0cd[net] Add addpeeraddress RPC method (John Newbery)ae8051bbd8[test] Test that getnodeaddresses() can return all known addresses (John Newbery)f26502e9fc[addrman] Specify max addresses and pct when calling GetAddresses() (John Newbery)01e283068b[net] Remove unnecessary default args on CNode constructor (Amiti Uttarwar)bc5d65b3ca[refactor] Remove IsOutboundDisconnectionCandidate (Amiti Uttarwar)2f2e13b6c2[net/refactor] Simplify multiple-connection checks (Amiti Uttarwar)7f7b83deb2[net/refactor] Rework ThreadOpenConnections logic (Amiti Uttarwar)35839e963b[net] Fix bug where AddrFetch connections would be counted as outbound full relay (Amiti Uttarwar)4972c21b67[net/refactor] Clarify logic for selecting connections in ThreadOpenConnections (Amiti Uttarwar)60156f5fc4[net/refactor] Remove fInbound flag from CNode (Amiti Uttarwar)7b322df629[net/refactor] Remove m_addr_fetch member var from CNode (Amiti Uttarwar)14923422b0[net/refactor] Remove fFeeler flag from CNode (Amiti Uttarwar)49efac5cae[net/refactor] Remove m_manual_connection flag from CNode (Amiti Uttarwar)d3698b5ee3[net/refactor] Add connection type as a member var to CNode (Amiti Uttarwar)46578c03e9[doc] Describe different connection types (Amiti Uttarwar)442abae2ba[net/refactor] Add AddrFetch connections to ConnectionType enum (Amiti Uttarwar)af59feb052[net/refactor] Extract m_addr_known logic from initializer list (Amiti Uttarwar)e1bc29812d[net/refactor] Add block relay only connections to ConnectionType enum (Amiti Uttarwar)0e52a659a2[net/refactor] Add feeler connections to ConnectionType enum (Amiti Uttarwar)1521c47438[net/refactor] Add manual connections to ConnectionType enum (Amiti Uttarwar)26304b4100[net/refactor] Introduce an enum to distinguish type of connection (Amiti Uttarwar)3f1b7140e9scripted-diff: Rename OneShot to AddrFetch (Amiti Uttarwar)dac7a111bdrefactor: test: use _ variable for unused loop counters (Sebastian Falbesoner)4c0731f9c5Deduplicate missing parents of orphan transactions (Suhas Daftuar)8196176243Rewrite parent txid loop of requested transactions (Suhas Daftuar)01cd24c226doc: set CC_FOR_BUILD when building on OpenBSD (fanquake)ca2e474372Fix a compiler warning: unused GetDevURandom() (Vasil Dimov)33a84e8f40build: Update and sort package list in gitian-linux.yml (Hennadii Stepanov)95051682bebuild: Drop old hack which is unneeded now (Hennadii Stepanov)9e165d0de4test: Wait for 'cmpctblock' in p2p_compactblocks when it is expected (Ben Woosley)fa4dfd215ftest: Wait until is_connected in add_p2p_connection (MarcoFalke)566aada386Test that wtxid relay peers add wtxid to reject filter (Gregory Sanders)0fea6ede1bRestore test case for p2p transaction blinding (Gregory Sanders)0a8aa626ddrefactor: Make HexStr take a span (Wladimir J. van der Laan)1e72b68ab3Replace `hidden service` with `onion service` (Riccardo Masutti)90bd476ea6build: make clean removes .gcda and .gcno files from fuzz directory (eugene)edc316020etest: Remove duplicate NodeContext hacks (Russell Yanofsky)9f88ded82btest addition of unknown segwit spends to txid reject filter (Gregory Sanders)7989901c7eAdd txids with non-standard inputs to reject filter (Suhas Daftuar)70452a070bbuild: set minimum required Boost to 1.58 (fanquake)fa5288cf5ccontrib: Fixup valgrind suppressions file (MarcoFalke)1d8338d6b7util: use HAVE_FDATASYNC to determine fdatasync() use (fanquake)82fc4017b7test: Catch decimal.InvalidOperation from TestNodeCLI#send_cli (Ben Woosley)31cf68a3ad[util] add RunCommandParseJSON (Sjors Provoost)c17f54ee53[ci] use boost::process (Sjors Provoost)32128ba682[doc] include Doxygen comments for HAVE_BOOST_PROCESS (Sjors Provoost)3c84d85f7d[build] msvc: add boost::process (Sjors Provoost)c47e4bbf0b[build] make boost-process opt-in (Sjors Provoost)929cda5470configure: add ax_boost_process (Sjors Provoost)8314c23d7b[depends] boost: patch unused variable in boost_process (Sjors Provoost)72351784b3lint: Remove travis env var from commit linter (Fabian Jahr)63e9e40b73test: Add LockStackEmpty() (Hennadii Stepanov)42b2a95373test: Repeat deadlock tests (Hennadii Stepanov)1f96be25b0Preserve initial state if push_lock() throws exception (Hennadii Stepanov)faa9a74c9etest: Fail wait_until early if connection is lost (MarcoFalke)f916847d2brpc: Document getwalletinfo's unlocked_until field as optional (Justin Moon)77c507358bMake Hash[160] consume range-like objects (Pieter Wuille)02c4cc5c5dMake CHash256/CHash160 output to Span (Pieter Wuille)0ef97b1b10Make MurmurHash3 consume Spans (Pieter Wuille)e549bf8a9aMake CHash256 and CHash160 consume Spans (Pieter Wuille)2a2182c387Make script/standard's BaseHash Span-convertible (Pieter Wuille)e63dcc3a67Add MakeUCharSpan, to help constructing Span<[const] unsigned char> (Pieter Wuille)567825049fMake uint256 Span-convertible by adding ::data() (Pieter Wuille)131a2f0337scripted-diff: rename base_blob::data to m_data (Pieter Wuille)3bd67ba5a4Test addr response caching (Gleb Naumenko)cf1569e074Add addr permission flag enabling non-cached addr sharing (Gleb Naumenko)acd6135b43Cache responses to addr requests (Gleb Naumenko)7cc0e8101fRemove useless 2500 limit on AddrMan queries (Gleb Naumenko)ded742bc5bMove filtering banned addrs inside GetAddresses() (Gleb Naumenko)334de75885scripted-diff: Remove Reference Links (Robert)05e2740d92doc: Add historical release notes for 0.20.1 (Wladimir J. van der Laan)10b7a6d532refactor: make txmempool interface use GenTxid (Pieter Wuille)5c124e1740refactor: make FindTxForGetData use GenTxid (Pieter Wuille)a2bfac8935refactor: use GenTxid in tx request functions (Pieter Wuille)e65d115b72test: request parents of orphan from wtxid relay peer (Anthony Towns)900d7f6c07p2p: enable fetching of orphans from wtxid peers (Pieter Wuille)9efd86a908refactor: add GenTxid (=txid or wtxid) type and use it for tx request logic (Pieter Wuille)d362f19355doc: list support for BIP 339 in doc/bips.md (Pieter Wuille)ae4958be95rpc: RPCResult Type of MempoolEntryDescription should be OBJ. If multiple entries are possible, wrapping Type should be OBJ_DYN. fixes #19579 (Chris L)e60ef21b8adoc: Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG (fanquake)284a969cc0Linter to check commit message formatting (Amir Ghorbanian)fae8c28daePass mempool pointer to GetCoinsCacheSizeState (MarcoFalke)fac674db20Pass mempool pointer to UnloadBlockIndex (MarcoFalke)faec851b6etest: Simplify cs_main locks (MarcoFalke)8ed9002cd1refactor: use local argsmanager in CRegTestParams (Ivan Metlushko)9b20f66828scripted-diff: Replace gArgs with local argsman (Ivan Metlushko)a316e9ce26refactor: add unused ArgsManager to replace gArgs (Ivan Metlushko)0fcff547d5walletdb: Ensure that having no database handle is a failure (Andrew Chow)da039d2a91Remove BDB dummy databases (Andrew Chow)0103d6434eIntroduce DummyDatabase and use it in the tests (Andrew Chow)c251d710a4p2p, refactoring: use CInv helpers in net_processing.cpp (Jon Atack)4254cd9f8fp2p: add CInv transaction message helper methods (Jon Atack)78c312c983Replace current benchmarking framework with nanobench (Martin Ankerl)82dee87933test: test decodepsbt fee calculation (count input value only once per UTXO) (Sebastian Falbesoner)2c6a02e024Clean message_count and last_message (Troy Giorshev)74507ce71ewalletdb: Remove BerkeleyBatch friend class from BerkeleyDatabase (Andrew Chow)00f0041351No need to check for duplicate fileids in all dbenvs (Andrew Chow)d86efab370walletdb: Move Db->open to BerkeleyDatabase::Open (Andrew Chow)4fe4b3bf1bwalletdb: track database file use as m_refcount within BerkeleyDatabase (Andrew Chow)65fb8807acCombine BerkeleyEnvironment::Verify into BerkeleyDatabase::Verify (Andrew Chow)65d0f1a533devtools: Add security check for separate_code (Wladimir J. van der Laan)2e9e6377f1build: add -Wl,-z,separate-code to hardening flags (fanquake)bcfebb6d55net: save the network type explicitly in CNetAddr (Vasil Dimov)100c64a95bnet: document `enum Network` (Vasil Dimov)f19fdd47a6test: add test for CChainState::ResizeCoinsCaches() (James O'Beirne)8ac3ef4699add ChainstateManager::MaybeRebalanceCaches() (James O'Beirne)f36aaa6392Add CChainState::ResizeCoinsCaches (James O'Beirne)b223111da2txdb: add CCoinsViewDB::ChangeCacheSize (James O'Beirne)fae656144etravis: Re-enable s390x (MarcoFalke)fdf697fe75ci: Increase CCACHE_SIZE in some builds on Travis (Hennadii Stepanov)5962522fbcdepends: bump native_cctools for fixed lto with external clang (Cory Fields)00d1ba7aaadepends: enable lto support for Apple's ld64 (Cory Fields)623f66554dFix .gitignore for src/test/fuzz directory (Hennadii Stepanov)a8865f8b72[net processing] Tidy up Misbehaving() (John Newbery)d15b3afb4c[net processing] Always supply debug message to Misbehaving() (John Newbery)634144a1c2[net processing] Fixup MaybeDiscourageAndDisconnect() style (John Newbery)fa5979d12frpc: Avoid useless mempool query in gettxoutproof (MarcoFalke)fa1f7f28cbrpc: Style fixups in gettxoutproof (MarcoFalke)7b3851e947refactor: Drop unused CBufferedFile::Seek() (Hennadii Stepanov)fa2ae0ac8dspan: Add Span::empty() and use it in script/descriptor (MarcoFalke)fa8a992589Work around memory-aliasing in descriptor ParsePubkey (MarcoFalke)655b195747[net processing] Continue SendMessages processing if not disconnecting peer (John Newbery)a49781e56d[net processing] Only call MaybeDiscourageAndDisconnect from SendMessages (John Newbery)a1d5a428a2[net processing] Fix bad indentation in SendMessages() (John Newbery)1a1c23f8d4[net processing] Change cs_main TRY_LOCK to LOCK in SendMessages() (John Newbery)ef3d4ce4c3build: call AC_PATH_TOOL for dsymutil in macOS cross-compile (fanquake)9c69cfe4c5Add <datadir>/settings.json persistent settings storage. (Russell Yanofsky)eb682c5700util: Add ReadSettings and WriteSettings functions (Russell Yanofsky)2aac093a3dtest: Add test coverage for -networkactive option (Hennadii Stepanov)3c58129b12net: Log network activity status change unconditionally (Hennadii Stepanov)62fe6aa87enet: Add -networkactive option (Hennadii Stepanov)d416ae560ewalletdb: Introduce WalletDatabase abstract class (Andrew Chow)2179dbcbcdwalletdb: Add BerkeleyDatabase::Open dummy function (Andrew Chow)71d28e7cdcwalletdb: Introduce AddRef and RemoveRef functions (Andrew Chow)27b2766384walletdb: Move BerkeleyDatabase::Flush(true) to Close() (Andrew Chow)0a4f1422cdFurther improve comments around recentRejects (Suhas Daftuar)0e20cfedb7Disconnect peers sending wtxidrelay message after VERACK (Suhas Daftuar)cacd85209etest: Use wtxid relay generally in functional tests (Fabian Jahr)8d8099e97atest: Add tests for wtxid tx relay in segwit test (Fabian Jahr)9a5392fdf6test: Update test framework p2p protocol version to 70016 (Fabian Jahr)dd78d1d641Rename AddInventoryKnown() to AddKnownTx() (Suhas Daftuar)4eb515574eMake TX_WITNESS_STRIPPED its own rejection reason (Suhas Daftuar)97141ca442Delay getdata requests from peers using txid-based relay (Suhas Daftuar)46d78d47deAdd p2p message "wtxidrelay" (Suhas Daftuar)2d282e0cbaignore non-wtxidrelay compliant invs (Anthony Towns)ac88e2eb61Add support for tx-relay via wtxid (Suhas Daftuar)8e68fc246dAdd wtxids to recentRejects instead of txids (Suhas Daftuar)144c385820Add wtxids of confirmed transactions to bloom filter (Suhas Daftuar)85c78d54afAdd wtxid-index to orphan map (Suhas Daftuar)08b39955ecAdd a wtxid-index to mapRelay (Suhas Daftuar)60f0acda71Just pass a hash to AddInventoryKnown (Suhas Daftuar)c7eb6b4f1fAdd wtxid to mempool unbroadcast tracking (Amiti Uttarwar)2b4b90aa8fAdd a wtxid-index to the mempool (Suhas Daftuar)fa56eda58elog: Avoid treating remote misbehvior as local system error (MarcoFalke)fa492895b5refactor: Switch ValidationState mode to C++11 enum class (MarcoFalke)1554b54d47Static asserts for consistency of fee defaults. (Daniel Kraft)2a701a1c42build: pass -fcommon when building genisoimage (fanquake)c8992e8959test: Fix fuzzer compilation on macOS fixes #19557 (freenancial)c0f09c2c9dfuzz: add missing overrides to signature_checker (Jon Atack)d0ea9bab28walletdb: Don't remove database transaction logs and instead error (Andrew Chow)ec4c6a17e8scripted-diff: replace MAX_BLOCKS_ONLY_CONNECTIONS with MAX_BLOCK_RELAY_ONLY_CONNECTIONS (glowang)12410b1febtest: fix intermittent p2p_ibd_txrelay race, add test_framework.py#wait_until (Jon Atack)facdf530c7contrib: Clean up previous_releases.py (MarcoFalke)5fa067a27dRemove unnecessary blockfile SetPos (Tom Harding)9c34aff393Remove previous_release.sh (Brian Liotti)e1e5960e10script: Add previous_release.py (Brian Liotti)4455949d6fMake test DoS_mapOrphans deterministic (David Reikher)6be3eebd74doc: Update macOS cross compilation dependencies for Focal (Hennadii Stepanov)55057ffc51rpc: deduplicate WriteHDKeypath() used in decodepsbt (Sebastian Falbesoner)1cdc2a642bfuzz: fix unused variable addrdb compiler warning (Jon Atack)ad6c34881dtests: Add fuzzing harness for CBlockPolicyEstimator::{Read,Write} (policy/fees.h) (practicalswift)614e0807a8tests: Add fuzzing harness for CBufferedFile::{SetPos,GetPos,GetType,GetVersion} (stream.h) (practicalswift)7bcc71e5f8tests: Add fuzzing harness for LoadExternalBlockFile(...) (validation.h) (practicalswift)9823376030tests: Add fuzzing harness for CBufferedFile (streams.h) (practicalswift)f3aa659be6tests: Add fuzzing harness for CAutoFile (streams.h) (practicalswift)e507c0799dtests: Add serialization/deserialization fuzzing helpers WriteToStream(…)/ReadFromStream(…) (practicalswift)e48094a506tests: Add FuzzedAutoFileProvider which provides a CAutoFile interface to FuzzedDataProvider (practicalswift)9dbcd6854ctests: Add FuzzedFileProvider which provides a FILE* interface to FuzzedDataProvider using fopencookie (practicalswift)0cdf2a77ddci: add tsan debug symbols option (Russell Yanofsky)9a2f12680bci: Add tsan suppression for race in DatabaseBatch (Hennadii Stepanov)6457361e90qt: Fix QFileDialog for static builds (Hennadii Stepanov)cb31ee01b4[test] feefilter during and after IBD (gzhao408)e80259f197Additionally treat Tx.nVersion as unsigned in joinpsbts (Matt Corallo)970de70bddDump transaction version as an unsigned integer in RPC/TxToUniv (Matt Corallo)de4fedb6c3depends: Add documentation for FORCE_USE_SYSTEM_CLANG make flag (Carl Dong)fe98999dcfdepends: Reformat make options as definition list (Carl Dong)60c55b1b9bdepends: Add justifications for macOS clang flags (Carl Dong)6b8e497eeadepends: specify libc++ header location for darwin (Cory Fields)156b604203depends: force a new host id string if FORCE_USE_SYSTEM_CLANG is in use (Cory Fields)c9c572a367depends: Allow building with system clang (Carl Dong)e6e5c8d6cadepends: Decouple toolchain + binutils (Carl Dong)f58c4b538e[tests] Remove unnecessary cs_mains in denialofservice_tests (Matt Corallo)80968cff68scripted-diff: rename movie folder to animation (Peter Bushnell)784ef8be41gui: Show permissions instead of whitelisted (Wladimir J. van der Laan)0c8461a88erefactor: replace CConnman pointers by references in net_processing.cpp (Sebastian Falbesoner)bc74a40a56net: improve encapsulation of CNetAddr (Vasil Dimov)0ecff9dd34Improve "detected inconsistent lock order" error message (Hennadii Stepanov)bbe9cf4fe4test: Improve "potential deadlock detected" exception message (Hennadii Stepanov)35599344c8Fix mistakenly swapped "previous" and "current" lock orders (Hennadii Stepanov)fa7592bfa8rpc: Update server to use new RPCHelpMan (MarcoFalke)aaaaad5627rpc: Add option to hide RPCArg (MarcoFalke)fa9708f94crpc: Assert that passed arg names are equal to hardcoded ones (MarcoFalke)faaeb2b0b3rpc: Add CRPCCommand constructor which takes RPCHelpMan (MarcoFalke)fa8ec00061rpc: Check that left section is not multiline (MarcoFalke)bd315eb5e2qt: Get rid of cursor in out-of-focus labels (Hennadii Stepanov)fa108d6a75test: update tests for peer discouragement (Jon Atack)1a9f462caagui, doc: rm Ban Score in GUI Peers window/release notes updates (Jon Atack)addf18da95Call SHA256AutoDetect in benchmark setup (Pieter Wuille)cca7c577d5tests: Add fuzzing harness for ChaCha20Poly1305AEAD (practicalswift)2fc4e5916ctests: Add fuzzing harness for ChaCha20 (practicalswift)e9e8aac029tests: Add fuzzing harness for CHKDF_HMAC_SHA256_L32 (practicalswift)ec86ca1aaatests: Add fuzzing harness for poly1305_auth(...) (practicalswift)4cee53bba7tests: Add fuzzing harness for AES256CBCEncrypt/AES256CBCDecrypt (practicalswift)9352c32325tests: Add fuzzing harness for AES256Encrypt/AES256Decrypt (practicalswift)6cef3652d1build: fix -Wformat-security check when compiling with GCC (fanquake)fa53635381util: Make Assert work with any value (MarcoFalke)75122780e2Increment input value sum only once per UTXO in decodepsbt (Andrew Chow)fabd33b541test: Fix intermittent failure in wallet_encryption (MarcoFalke)314b49bd50gui: Fix regression in GUI console (Hennadii Stepanov)b82f0ca4d5walletdb: Add MakeBatch function to BerkeleyDatabase and use it (Andrew Chow)eac9200814walletdb: Refactor DatabaseBatch abstract class from BerkeleyBatch (Andrew Chow)fa9f20b647log: Properly log txs rejected from mempool (MarcoFalke)ca3585a483[net/net processing] check banman pointer before dereferencing (John Newbery)d842e6ac96doc: Add non-thread-safe note to FeeFilterRounder::round() (Hennadii Stepanov)60824b3c3aci: Fix configure options for macOS builds (Hennadii Stepanov)687939e3d2ci: Drop Homebrew caching while using Homebrew addon on Travis (Hennadii Stepanov)557d3f1cc0ci: Do not activate Travis ccache caching strategy (Hennadii Stepanov)2d747428e2ci: Disable functional tests on forked repos to avoid timeouts for macOS (Hennadii Stepanov)06059b0c2anet: rename DEFAULT_BANSCORE_THRESHOLD to DISCOURAGEMENT_THRESHOLD (Jon Atack)1d4024bca8net: remove -banscore configuration option (Jon Atack)f32c408f3aMake sure unconfirmed parents are requestable (Pieter Wuille)c4626bcd21Drop setInventoryTxToSend based filtering (Pieter Wuille)43f02ccbffOnly respond to requests for recently announced transactions (Pieter Wuille)b24a17f039Introduce constant for mempool-based relay separate from mapRelay caching (Pieter Wuille)a9bc563803Swap relay pool and mempool lookup (Pieter Wuille)b03697b68edoc: CONTRIBUTING.md improvements (Jon Atack)fa740d4ceadoc: move-only release notes (MarcoFalke)faa3d2eee1doc: Remove release notes of backports (MarcoFalke)d0cc1f6df7qt: Disable toolbar when overlay is shown (Hennadii Stepanov)e74cd2083dqt, refactor: Cleanup ModalOverlay slots (Hennadii Stepanov)7bb6f9bfdb[protocol] Remove unused GETHEADERS_VERSION (John Newbery)37a934e6b3[protocol] Remove unused CADDR_TIME_VERSION (John Newbery)08fc6f6cfc[rpc] refactor: consolidate sendmany and sendtoaddress code (Sjors Provoost)facd7dd3d1wallet: Fix typo in comments; Simplify assert (MarcoFalke)1e58bcc9afwallet: Fix clang build in Mac (Anthony Fieroni)a66a7a1a70walletdb: don't reinitialize desc cache with multiple cache entries (Andrew Chow)fa73493930refactor: Use C++11 range-based for loop (MarcoFalke)fa7b164d62wallet: Never schedule MaybeCompactWalletDB when -flushwallet is off (MarcoFalke)faf8401c19wallet: Pass unused args to StartWallets (MarcoFalke)fa6c186436gui tests: Limit life-time of dummy testing setup (MarcoFalke)fa28a61897test: Add smoke test to check that wallets are flushed by default (MarcoFalke)3a9aba21a4Split SetWalletFlags into Add/LoadWalletFlags (Andrew Chow)d9cd095b59Split SetActiveScriptPubKeyMan into Add/LoadActiveScriptPubKeyMan (Andrew Chow)0122fbab4cSplit SetHDChain into AddHDChain and LoadHDChain (Andrew Chow)9c59f9c285Fix ZapSelectTx to sync wallet spends (Anthony Fieroni)97846d7f5btests: Add fuzzing harness for BanMan (practicalswift)deba199f1ctests: Add ConsumeSubNet(...). Move and increase coverage in ConsumeNetAddr(...). (practicalswift)fab5586122doc: Use precise permission flags where possible (MarcoFalke)20d31bdd92tests: Avoid fuzzer-specific nullptr dereference in libevent when handling PROXY requests (practicalswift)f20b359bb9cli: reduce DefaultRequestHandler memory allocations (Jon Atack)57b0c0a93aDrop CADDR_TIME_VERSION checks now that MIN_PEER_PROTO_VERSION is greater (Ben Woosley)fa3365430cnet: Use mockable time for ping/pong, add tests (MarcoFalke)faab4aaf2futil: Add count_microseconds helper (MarcoFalke)41d55d3057doc: getpeerinfo banscore deprecation release note (Jon Atack)dd54e3796etest: getpeerinfo banscore deprecation test (Jon Atack)8c7647b3fbrpc: deprecate banscore field in rpc getpeerinfo (Jon Atack)fa6d5ab674refactor: Remove unused BlockAssembler::pblock member var (MarcoFalke)a4a3fc4cd2doc: improve subtree check instructions (Sjors Provoost)fa0540cd46net: Extract download permission from noban (MarcoFalke)1cabbddbcarefactor: Use uint16_t instead of unsigned short (Aaron Hook)fc6a637a01qt: increase console command max length (10xcryptodev)c858302280Change format of log2_work for uniform output (zero-padded) (jmorgan)2b78a11b48doc: afl fuzzing comment about afl-gcc and afl-g++ (nsa)2894e94d17Updates msvc build to use ISO standard C++17. (Aaron Clauson)4b5ac25881Drop unused CDBWrapper methods (Hennadii Stepanov)1e9bfd4926qt: Reset toolbar after all wallets are closed (Hennadii Stepanov)0b8ba84659banlist: log post-swept banlist size at startup (fanquake)b9253c7d20tools: clang-format 6 compatibility (Jon Atack)e846a2a1d9refactor: clean up PeriodicFlush() (John Newbery)fa8a341b88wallet: Replace CDataStream& with CDataStream&& where appropriate (MarcoFalke)fa021e9a5bwallet: Remove confusing double return value ret+success (MarcoFalke)e8a2822119[net] Don't try to take cs_inventory before deleting CNode (John Newbery)3556227ddd[net] Make cs_inventory a non-recursive mutex (John Newbery)344e831de5[net processing] Remove PushBlockInventory and PushBlockHash (John Newbery)2ad58381ffClean up separated ban/discourage interface (Pieter Wuille)b691f2df5fReplace automatic bans with discouragement filter (Pieter Wuille)40506bf93ftest: Test gettxouttsetinfo hash_type option (Fabian Jahr)f17a4d1c4drpc: Add hash_type NONE to gettxoutsetinfo (Fabian Jahr)a712cf6f68rpc: gettxoutsetinfo can specify hash_type (only legacy option for now) (Fabian Jahr)605884ef21refactor: Extract GetBogoSize function (Fabian Jahr)a76dafa51dci: Add tsan suppression for race in BerkeleyBatch (Hennadii Stepanov)d8e9ca66d1walletdb: Move Rewrite into BerkeleyDatabase (Andrew Chow)91d109156dwalletdb: Move PeriodicFlush into WalletDatabase (Andrew Chow)8f1bcf8b7bwalletdb: Combine VerifyDatabaseFile and VerifyEnvironment (Andrew Chow)961e667600Remove cached directories and associated script blocks from appveyor CI configuration. (Aaron Clauson)fab80fef61refactor: Remove unused EnsureChainman (MarcoFalke)fa34587f1cscripted-diff: Replace EnsureChainman with Assert in unit tests (MarcoFalke)fa6ef701adutil: Add Assert identity function (MarcoFalke)fa457fbd33move-only: Move NDEBUG compile time check to util/check (MarcoFalke)fa8e6df282ci: Run tsan ci config on cirrus (MarcoFalke)fa0dfdf447refactor: Remove confusing BlockIndex global (MarcoFalke)a8d39b8840doc: explain why passing -mlinker-version is required (fanquake)92bc268e4abuild: Detect missed pkg-config early (Hennadii Stepanov)1739eb23d8build: Drop unused use_pkgconfig variable (Hennadii Stepanov)a661449a2ebuild: Drop use_pkgconfig check for libmultiprocess check (Hennadii Stepanov)90b95e7929build: Drop dead non-pkg-config code for libevent check (Hennadii Stepanov)44a14afbb8build: Drop dead non-pkg-config code for qrencode check (Hennadii Stepanov)10cbae0c39build: Drop dead non-pkg-config code for ZMQ check (Hennadii Stepanov)06cfc9cadfbuild: Fix indentation in UNIVALUE check (Hennadii Stepanov)6fd2118e77build: Drop dead non-pkg-config code for UNIVALUE check (Hennadii Stepanov)e9edbe4dbdbuild: Always use pkg-config (Hennadii Stepanov)9e2e753b06build: Always define ZMQ_STATIC for MinGW (Hennadii Stepanov)54b5eb2b14tests: Add std::locale::global to list of locale dependent functions in lint-locale-dependence.sh (practicalswift)84d295e513tests: Check that segwit inputs in psbt have both UTXO types (Andrew Chow)4600479058psbt: always put a non_witness_utxo and don't remove it (Andrew Chow)5279d8bc07psbt: Allow both non_witness_utxo and witness_utxo (Andrew Chow)72f6bec1darpc: show both UTXOs in decodepsbt (Andrew Chow)870f0cd2a0build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory (practicalswift)fa12d8d3edci: Add tsan suppression for race in wallet (MarcoFalke)fa927ff884Enable Wswitch for OutputType (MarcoFalke)faddad71f6Remove confusing OutputType::CHANGE_AUTO (MarcoFalke)fa2eb38352interfaces: Remove unused getDefaultChangeType (MarcoFalke)fa23fbb42fci: Run all tests on native mac again (MarcoFalke)faebb60b8ddoc: Remove outdated comment in TransactionTablePriv (MarcoFalke)fa575f3461wallet: Replace boost::none with nullopt (MarcoFalke)fac7bdb75escript: Fix boost/C++17 compile failure (MarcoFalke)21a65756f5Add Windows WSL build recommendation to temporarily disable Win32 PE support. (Aaron Clauson)99993489datest: Set -logthreadnames in unit tests (MarcoFalke)fa4ea997b4init: Setup scheduler in tests and init in exactly the same way (MarcoFalke)c4ffcf07afbuild: remove BIP70 configure option (fanquake)f1a0314c53gui: change combiner for signals to optional_last_value (Cory Fields)ca24edfbc1walletdb: Handle cursor internally (Andrew Chow)faca73000fci: Install fixed version of clang-format for linters (MarcoFalke)fa4695da4cbuild: Sort Makefile.am after renaming file (MarcoFalke)cccc2784a3scripted-diff: Move ui_interface to the node lib (MarcoFalke)fa72ca6a9dqt: Remove unused includes (MarcoFalke)fac96e6450wallet: Do not include server symbols (MarcoFalke)fa0f6c58c1Revert "Fix link error with --enable-debug" (MarcoFalke)3a7e79478atest: retry when write to a socket fails on macOS (Ivan Metlushko)8cf9d15b82test: use pgrep for better compatibility (Ivan Metlushko)eb6b73540dbuild: pass _WIN32_WINNT=0x0601 when building libevent for Windows (fanquake)03e056edcddepends: Patch libevent build to fix IPv6 -rpcbind on Windows (Luke Dashjr)6fdfeebcc7refactor: Replace RecursiveMutex with Mutex in rpc/server.cpp (Hennadii Stepanov)a92e48b02dtest: move TEST_RUNNER_EXTRA into native tsan setup (fanquake)9b009fae6eqa: Test concurrent wallet loading (João Barbosa)b9971ae585wallet: Handle concurrent wallet loading (João Barbosa)fa3b35a189ci: Add test for clang-3.8 C++11 support (MarcoFalke)faa7431feerefactor: Fix clang compile failure (MarcoFalke)9952242c03build: improve builtin_clz* detection (fanquake)fa525e4d1cnet: Avoid wasting inv traffic during IBD (MarcoFalke)fa06d7e934refactor: block import implies IsInitialBlockDownload (MarcoFalke)faba65e696Add ChainstateManager::ActiveChainstate (MarcoFalke)fabf3d64fftest: Add FeeFilterRounder test (MarcoFalke)53361ddc75[build] Remove unused RES_IMAGES (Bushstar)fab57e2b9bdoc: Mention Span in developer-notes.md (Pieter Wuille)3502a60418doc: Document Span pitfalls (Pieter Wuille)fa74a54fadci: Increase test timeout for sanitizer configs (MarcoFalke)e12e970df6docs: match usage text to script and location (Peter Bushnell)fd9c213c6edoc/REST-interface: Remove stale info (Luke Dashjr)8578c6fccdbuild: Fix search for brew-installed BDB 4 on OS X (Glenn Willen)fa32adf9dcscripted-diff: TxoutType C++11 scoped enum class (MarcoFalke)fa95a694c4doc: Update outdated txnouttype documentation (MarcoFalke)fa58469c77rpc: Properly use underlying type in GetAllOutputTypes (MarcoFalke)fa41c65702rpc: Simplify GetAllOutputTypes with the Join helper (MarcoFalke)6d35d0d18fdoc: add release note for -getinfo displaying multiwallet balances (Jon Atack)0ac09c9793qt: Do not truncate node flag strings in debugwindow.ui peers details tab. (saibato)d906aaa117qt: Fix regression in TransactionTableModel (Hennadii Stepanov)1087807b2btests: Provide main(...) function in fuzzer (practicalswift)25dac9fa65doc: add release notes for explicit fee estimators and bumpfee change (Karl-Johan Alm)05227a3554tests for bumpfee / estimate_modes (Karl-Johan Alm)3404c1b753policy: optional FeeEstimateMode param to CFeeRate::ToString (Karl-Johan Alm)6fcf448430rpc/wallet: add two explicit modes to estimate_mode (Karl-Johan Alm)b188d80c2dMOVEONLY: Make FeeEstimateMode available to CFeeRate (Karl-Johan Alm)5d1a411eb1fees: add FeeModes doc helper function (Karl-Johan Alm)91f6d2bc8frpc/wallet: add conf_target as alias to confTarget in bumpfee (Karl-Johan Alm)69158b41fcadded CURRENCY_ATOM to express minimum indivisible unit (Karl-Johan Alm)39d526bde4test: Bump linter versions (Duncan Dean)1307686798refactor: Use Mutex type for g_cs_recent_confirmed_transactions (Hennadii Stepanov)67bb7be864tests: Add fuzzing harness for CHash{160,256}, C{HMAC_,}SHA{1,256,512}, CRIPEMD160, CSipHasher, etc. (practicalswift)fa8337fcdbclang-format scheduler (MarcoFalke)fa3d41b5abdoc: Switch scheduler to doxygen comments (MarcoFalke)fac43f9889scheduler: Replace stop(true) with StopWhenDrained() (MarcoFalke)fa9cca0550doc: Remove unused documentation about unimplemented features (MarcoFalke)fab2950d70doc: Switch boost::thread to std::thread in scheduler (MarcoFalke)fa9819695atest: Remove unused scheduler.h include from the common setup (MarcoFalke)fa609c4f76scheduler: Remove unused REVERSE_LOCK (MarcoFalke)3f686d1a28ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors (practicalswift)37ae687f95Add tests for CPubKey serialization/unserialization (Elichai Turkel)9b8907fadeCheck size after Unserializing CPubKey (Elichai Turkel)56010f9256test: hoist p2p values to test framework constants (Jon Atack)75447f0893test: improve msg sends and p2p disconnections in p2p_invalid_messages (Jon Atack)57960192a5test: refactor test_large_inv() into 3 tests with common method (Jon Atack)e2b21d8a59test: add p2p_invalid_messages logging (Jon Atack)9fa494dc09net: update misbehavior logging for oversized messages (Jon Atack)bd93e32292refactor: Replace HexStr(o.begin(), o.end()) with HexStr(o) (Wladimir J. van der Laan)9886c7d98ddoc: add release note for bitcoin-cli -generate (Jon Atack)4f9d9efb4eqt: Remove needless headers (Hennadii Stepanov)adf543d714darwin: pass mlinker-version so that clang enables new features (Cory Fields)2418f739f7macos: Bump to xcode 11.3.1 and 10.15 SDK (Cory Fields)5c2c835433depends: bump MacOS toolchain (Cory Fields)85b5e42088contrib: macdeploy: Remove historical extraction notes (Carl Dong)351beb5c9acontrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx (Carl Dong)fbcfcf6954native_cctools: Don't use libc++ from pinned clang (Carl Dong)3381e4a189Adapt rest of tooling to new SDK naming scheme (Carl Dong)b3394ab235contrib: macdeploy: Correctly generate macOS SDK (Carl Dong)f1d21ef1c3doc: add C++17 release note for 0.21.0 (fanquake)20b6e95944test: refactor functional tests to use restart_node (Christopher Coverdale)ccef5d7bf0test: add two edge case tests for CSubNet (Vasil Dimov)fac63eb5eadoc: Remove -whitelistforcerelay from comment (MarcoFalke)faabd1514ftest: Check that peers with forcerelay permission do not get a feefilter message (MarcoFalke)fad676b8d2test: Add connect_nodes method (MarcoFalke)fac6ef4fb2test: Add test for no net permission (MarcoFalke)ffff3fe50atest: Replace self.nodes[0].p2p with conn (MarcoFalke)faccdc8a31test: remove redundant generate (MarcoFalke)fab83b934atest: pep-8 p2p_feefilter.py (MarcoFalke)cc84460c16test: move sync_blocks and sync_mempool functions to test_framework.py (Roy Shao)931dd47608Make lint-spelling.py happy (Glenn Willen)11a0ffb29d[gui] Load PSBT from clipboard (Glenn Willen)a6cb0b0c29[gui] PSBT Operations Dialog (sign & broadcast) (Glenn Willen)5dd0c03ffaFillPSBT: report number of inputs signed (or would sign) (Glenn Willen)9e7b23b733Improve TransactionErrorString messages. (Glenn Willen)22cb303cf0rpc: add missing space in JSON parsing error message, update test (Jon Atack)bf53ebef06test: add multiwallet tests for bitcoin-cli -generate (Jon Atack)4b859cfff9cli: add multiwallet capability to GetNewAddress and -generate (Jon Atack)18f93545a1test: add tests for bitcoin-cli -generate (Jon Atack)4818124137cli: create bitcoin-cli -generate command (Jon Atack)ff41a36900cli: extract ParseResult() and ParseError() (Jon Atack)f4185b26d9cli: create GenerateToAddressRequestHandler class (Harris)f7c65a3350cli: create GetNewAddress() (Jon Atack)9be7fd35c5rpc: make generatetoaddress locals const (Jon Atack)cb00510dbarpc: create rpc/mining.h, hoist default max tries values to constant (Jon Atack)cc29d1e2c4[tools] Update clang-format config (John Newbery)bc01f7ae05doc: release note for rpc getaddressinfo removals (Jon Atack)90e989390erpc: getaddressinfo RPCResult fixup (Jon Atack)a8507c99darpc: remove deprecated getaddressinfo `labels: purpose` (Jon Atack)645a8653c8rpc: remove deprecated getaddressinfo `label` field (Jon Atack)e5327f947c[rpc] fundrawtransaction: add_inputs option to control automatic input adding (Sjors Provoost)79804fe24b[rpc] walletcreatefundedpsbt: don't automatically append inputs (Sjors Provoost)4d7369125aDisallow automatic conversion between hash types (Ben Woosley)fa9ef2cdbeRemove an apparently unnecessary conversion (Ben Woosley)966a22d859Explicitly support conversion between equivalent hash types (Ben Woosley)f32c1e07fdUse explicit conversion from WitnessV0KeyHash -> CKeyID (Ben Woosley)2c54217f91Use explicit conversion from PKHash -> CKeyID (Ben Woosley)a9e451f144Convert CPubKey to WitnessV0KeyHash directly (Ben Woosley)3fcc468123Prefer explicit CScriptID construction (Ben Woosley)0a5ea32ce6Prefer explicit uint160 conversion (Ben Woosley)d0a3feea73Change docs for walletcreatefundedpsbt RPC method (Ivan Vershigora)951bca61d7tests: feature_backwards_compatibility.py test 0.16 up/downgrade (Andrew Chow)3a03a11e8cSkip hdKeypath of 'm' (Andrew Chow)b83cc0fc94Fix link error with --enable-debug (Hennadii Stepanov)fa05f44893ci: Upgrade most ci configs to focal (MarcoFalke)fad6720891doc: move doc to ci readme (MarcoFalke)fa880773b4ci: Have one config run in xenial to test against python3.5 (MarcoFalke)fa6ddb2fa1travis: Always run multiprocess build (MarcoFalke)fa2eb3d5d6ci: Run asan ci config on cirrus (MarcoFalke)fa93527738cirrus: Clear dummy task (MarcoFalke)3351c91ed4refactor: Make CScriptVisitor stateless (João Barbosa)51e9393c1frefactor: s/command/msg_type/ in CNetMsgMaker and CSerializedNetMsg (Sebastian Falbesoner)fa1904e5f0net: Remove dead logging code (MarcoFalke)fac12ebf4fnet: Avoid redundant and confusing FAILED log (MarcoFalke)f52d403b81[net] split PushInventory() (John Newbery)83fd3a6d73init: use std::thread for ThreadImport() (fanquake)da7a83c5eeRemove WalletDatabase::Create, CreateMock, and CreateDummy (Andrew Chow)d6045d0ac6scripted-diff: Replace WalletDatabase::Create* with CreateWalletDatabase (Andrew Chow)45c08f8a7bAdd Create*WalletDatabase functions (Andrew Chow)66666d55b1doc: Mention repo split in the READMEs (MarcoFalke)faceed753adoc: Add redirect for GUI issues and pull requests (MarcoFalke)25f3554351scripted-diff: Make SeparatorStyle a scoped enum (Hennadii Stepanov)a389ed52e8walletdb: refactor Read, Write, Erase, and Exists into non-template func (Andrew Chow)26acc8dd9bAdd sanity check asserts to span when -DDEBUG (Pieter Wuille)2676aeadfaSimplify usage of Span in several places (Pieter Wuille)ab303a16d1Add Span constructors for arrays and vectors (Pieter Wuille)bb3d38fc06Make pointer-based Span construction safer (Pieter Wuille)1f790a1147Make Span size type unsigned (Pieter Wuille)80d4423f99Test buffered valid message (Troy Giorshev)fa84edb93cbuild: don't warn when doxygen isn't found (fanquake)fa195d4ebatest: Add missing sync_blocks (MarcoFalke)fa02b47313refactor: Use AbortError in FatalError (MarcoFalke)9a40cfc558[refactor] use waiting inside disconnect_p2ps (gzhao408)aeb9fb414e[test] wait for disconnect_p2ps to be reflected in getpeerinfo (gzhao408)e81942d2e1[test] logging and style followups for bloomfilter tests (gzhao408)f8213c05f0Add means to handle negative capabilities in thread safety annotations (Hennadii Stepanov)61c16339dawalletdb: Move BDB specific things into bdb.{cpp/h} (Andrew Chow)8f033642a8walletdb: moveonly: Move BerkeleyBatch Cursor and Txn funcs to cpp (Andrew Chow)25a655794awalletdb: move IsWalletLoaded to walletdb.cpp (Andrew Chow)f6fc5f3849walletdb: Add IsBDBWalletLoaded to look for BDB wallets specifically (Andrew Chow)c3538f435awalletdb: Make SpliWalletFilePath non-static (Andrew Chow)47b49a05eacontrib: Fix SyntaxWarning in Python base58 implementation (Alex Willmer)fa193c6b1bAdd missing includes to fix compile errors (MarcoFalke)fa09ec83f3Remove unused variables (MarcoFalke)fa41b0a6dapep-8 test/functional/test_framework/util.py (MarcoFalke)faa841bc97test: refactor: Inline adjust_bitcoin_conf_for_pre_17 (MarcoFalke)44cc75f80ewallet: error if an explicit fee rate was given but the needed fee rate differed (Karl-Johan Alm)313a081b90[net] Add seed.bitcoin.wiz.biz to DNS seeds (wiz)9fe71a57a6test: use subprocess.run() in test-security-check.py (fanquake)968aaae940tests: run test-security-check.py in CI (fanquake)5527be0627refactor: Add AbortError alias (Hennadii Stepanov)d924f2a596Drop MSG_NOPREFIX flag (Hennadii Stepanov)083daf7fbaPass bilingual_str argument to AbortNode() (Hennadii Stepanov)d1cca129b4refactor: Use bilingual_str::empty() (Hennadii Stepanov)16d4b3fd6dtest: mempool.dat compatibility between versions (Ivan Metlushko)62068381a3[tests] Make mininode_lock non-reentrant (John Newbery)c67c1f2c03[tests] Don't call super twice in P2PTxInvStore.on_inv() (John Newbery)9d80762fa0[tests] Don't acquire mininode_lock twice in wait_for_broadcast() (John Newbery)edae6075aa[tests] Only acquire lock once in p2p_compactblocks.py (John Newbery)3a10d935ac[p2p/refactor] move disconnect logic and remove misbehaving (gzhao408)ff8c430c65[test] test disconnect for filterclear (gzhao408)1c6b787e03[netprocessing] disconnect node that sends filterclear (gzhao408)fa71667597ci: Move travis workarounds to .travis.yml (MarcoFalke)0f8f515445RPC: Rephrase generatetoaddress help, and use PACKAGE_NAME (Luke Dashjr)49236be099[tests] Don't import asyncio to test magic bytes (John Newbery)ccf1f6ea24refactor: Drop ::HasWallets() (João Barbosa)8a26848c46build: Fix m4 escaping (Hennadii Stepanov)9123ec15dbbuild: Remove extra tokens warning (Hennadii Stepanov)fded4f48c3build: Remove duplicated QT_STATICPLUGIN define (Hennadii Stepanov)05a93d5d96build: Fix indentation in bitcoin_qt.m4 (Hennadii Stepanov)ddbb419310build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts (Hennadii Stepanov)492971de35build: Fix mingw pkgconfig file and dependency naming (Hennadii Stepanov)e10439ce5ascripted-diff: rename privkey with seckey in secp256k1 interface (Pieter Wuille)ca8bc42330Drop --disable-jni from libsecp256k1 configure options (Pieter Wuille)ddc2419c09Update MSVC build config for libsecp256k1 (Pieter Wuille)67f232b5d8Squashed 'src/secp256k1/' changes from b19c000063..2ed54da18a (Pieter Wuille)af2a145e57Refactor resource exhaustion test (Troy Giorshev)5c4648d17bFix "invalid message size" test (Troy Giorshev)ff1e7b8844Move size limits to module-global (Troy Giorshev)57890abf2cRemove two unneeded tests (Troy Giorshev)45eff751c6Add functional test for P2P eviction logic of inbound peers (Martin Zumsande)fadf6bd04frefactor: Remove unused request.fHelp (MarcoFalke)fad889cbf0wallet: Make RPC help compile-time static (MarcoFalke)dca73941ebscripted-diff: rename node to peer for mininodes (gzhao408)0474ea25af[test] fix race conditions and test in p2p_filter (gzhao408)4ef80f0827[test] sending invalid msgs to node with bloomfilters=0 causes disconnect (gzhao408)497a619386[test] add BIP 37 test for node with fRelay=false (gzhao408)e8acc60156[test] add mempool msg test for node with bloomfilter enabled (gzhao408)cf5b8f64b3tests: Add fuzzing harness for {Read,Write}{LE,BE}{16,32,64} (crypto/common.h) (practicalswift)4a8181b303tests: Add std::vector<uint8_t> ConsumeFixedLengthByteVector(FuzzedDataProvider& fuzzed_data_provider, const size_t length) (practicalswift)3a83a01694[tests] move generate_wif_key to wallet_util.py (John Newbery)b216b0b71f[tests] sort imports in rpc_createmultisig.py (John Newbery)e38081846dRevert "[TESTS] Move base58 to own module to break circular dependency" (John Newbery)f42f5e58f5refactor: Combine GetWalletForJSONRPCRequest and EnsureWalletIsAvailable functions (Russell Yanofsky)fa98e10d5etest: Remove leftover comment in mining_basic (MarcoFalke)faedb50d89test: pep-8 mining_basic (MarcoFalke)c75de5da5f[TESTS] Move base58 to own module to break circular dependency (Pieter Wuille)d49612f98aMake SetMiscWarning() accept bilingual_str argument (Hennadii Stepanov)d1ae7c0355Make GetWarnings() return bilingual_str (Hennadii Stepanov)38e33aa481refactor: Make GetWarnings() bilingual_str aware internally (Hennadii Stepanov)fa7b46cc91test: Add BerkeleyDatabase tsan suppression (MarcoFalke)948f1134bcgui: add missing translation.h include to fix build (fanquake)6fe989054frefactor: Change Node::initError to take bilingual_str (Wladimir J. van der Laan)425e7cb8cfrefactor: Put`TryParsePermissionFlags` in anonymous namespace (Wladimir J. van der Laan)77b79fa6efrefactor: Error message bilingual_str consistency (Wladimir J. van der Laan)6fc641644fchange blacklist to blocklist (TrentZ)bacbfb61eerefactor: Replace RecursiveMutex with Mutex in warnings.cpp (Hennadii Stepanov)b00266fe0crefactor: replace pointers by references within tx_verify.{h,cpp} (Sebastian Falbesoner)34645c4dd0Test txinwitness is accessible on coinbase vin (Rod Vagg)3e4421070aExpose txinwitness for coinbase in JSON form (Rod Vagg)a9d28afe23qt: Display warnings as rich text (Hennadii Stepanov)34e641a564test: Remove unnecessary disconnect_nodes call in rpc_psbt.py (Danny Lee)e6e7abd51atest: remove redundant two-way disconnect_nodes calls (Danny Lee)a9bd1f9adftest: warn if nodes not connected before disconnect_nodes (Danny Lee)cb38b069b0util: Don't reference errno when pthread fails. (MIZUTA Takeshi)fa2c2b50d8doc: Extract net permissions doc (MarcoFalke)cc5c0d2299refactor: Fix formatting of timedata.cpp (Hennadii Stepanov)c2410ceb84refactor: Replace RecursiveMutex with Mutex in timedata.cpp (Hennadii Stepanov)78c8f4fe11refactor: Replace RecursiveMutex with Mutex in netbase.cpp (Hennadii Stepanov)1a9ef1d398refactor: Replace RecursiveMutex with Mutex in Shutdown() (Hennadii Stepanov)fac6b9b938test: Avoid overwriting the NodeContext member of the testing setup (MarcoFalke)fa16e7816bbuild: Add -Wshadow-field (MarcoFalke)c514a4f59adoc: release note for `db` log category removal (Jon Atack)4c0c89307dlog: remove deprecated `db` log category (Jon Atack)fa4cd1fdaeci: Switch to bitcoincore.org download (MarcoFalke)501e6ab4e7doc: Add documentation for 'checklevel' argument in 'verifychain' RPC call (Calvin Kim)fa9604c46fdoc: noban precludes maxuploadtarget disconnects (MarcoFalke)fa3999fe35net: Reformat excessively long if condition into multiple lines (MarcoFalke)5d77549d8bdoc: Add mypy to test dependencies (Hennadii Stepanov)7dda912e1ctest: Do not swallow flake8 exit code (Hennadii Stepanov)4a7253ab6cRemove g_rpc_chain global (Russell Yanofsky)e783197bf0refactor: replace RegisterWalletRPCCommands with GetWalletRPCCommands (Russell Yanofsky)0012471391build: turn on --enable-c++17 by --enable-fuzz (Vasil Dimov)fa7e002d52ci: tsan with wallet (MarcoFalke)f46b678acfqt: lock cs_main, m_cached_tip_mutex in that order (Vasil Dimov)c4b574899agui: Add Close All Wallets action (João Barbosa)f30960adc0gui: Add closeAllWallets to WalletController (João Barbosa)89f9fef1f7refactor: Specify boost/thread/thread.hpp explicitly (Hennadii Stepanov)fad8c890f5txdb: Remove unused boost/thread (MarcoFalke)faa958bc28txindex: Remove unused boost/thread (MarcoFalke)8b3136bd30refactor: replace CNode pointers by references within net_processing.{h,cpp} (Sebastian Falbesoner)7daffc6a90[test] CScriptNum Decode Check as Unit Tests (Gillian Chu)fa1433ac1brpc: Remove special case for unknown service flags (MarcoFalke)ac94141af0validation: delay flushing undo files in syncing node case (Karl-Johan Alm)eea8114657build: Enable unreachable-code-loop-increment (Jonathan Schoeller)d15db4b1fcrefactor: Fix unreachable code in init arg checks (Jonathan Schoeller)fa3b4f9b8evalidation: Make VerifyDB level 4 interruptible (MarcoFalke)fa1d5800d9validation: Remove unused boost interruption_point (MarcoFalke)fab7d954b2test: Make valgrind.supp work on aarch64 (MarcoFalke)0fef60c63dbuild: improved output of configure for build OS (sachinkm77)789e9dd3aavalidation: use std::chrono in IsCurrentForFeeEstimation() (fanquake)47be28c8bcvalidation: use std::chrono in CChainState::FlushStateToDisk() (fanquake)bd7e530f01This PR adds initial support for type hints checking in python scripts. (Kiminuo)faf62e6ed0ci: Remove unused workaround (MarcoFalke)fa7c850915ci: Install llvm to get llvm symbolizer (MarcoFalke)fa563cef61test: Add more tsan suppressions (MarcoFalke)fa0cc02c0aci: Mute depends logs completely (MarcoFalke)fa906bf298test: Extend tsan suppressions for clang stdlib (MarcoFalke)fa10d85079ci: Use libc++ instead of libstdc++ for tsan (MarcoFalke)fa0d5ee112ci: Set halt_on_error=1 for tsan (MarcoFalke)fa2ffe87f7ci: Deduplicate DOCKER_EXEC (MarcoFalke)fac2eeeb9dcirrus: Remove no longer needed install step (MarcoFalke)facede18a4test: Check that invalid witness destinations can not be imported (MarcoFalke)fab860aed4fuzz: Stop nodes in process_message* fuzzers (MarcoFalke)6666c828e0fuzz: Give CNode ownership to ConnmanTestMsg in process_message fuzz harness (MarcoFalke)fa13c180c7doc: Move 0.21 fragments into the main release notes (MarcoFalke)fa1a91657fdoc: Add release-notes-0.20.0.md (MarcoFalke)faabc6e445doc: Remove release notes of 0.20.1 release (MarcoFalke)5cb7ee67a5net: improve code documentation for dns seed behaviour (Anthony Towns)7eaf86d3bftrivial: Suggested cleanups to surrounding code (Russell Yanofsky)b604c5c8b5wallet: Minimal fix to restore conflicted transaction notifications (Russell Yanofsky)fa1c74fd03wallet: Remove unused boost::thread_interrupted (MarcoFalke)fa7b885f51walletdb: Remove unsed boost/thread (MarcoFalke)5555d978b0wallet: Make PeriodicFlush uninterruptible (MarcoFalke)152e8baf08Use salted hasher instead of nonce in sigcache (Jeremy Rubin)5495fa5850Add Hash Padding Microbenchmarks (Jeremy Rubin)fa7d3a8890test: Add missing sync_blocks to wallet_hd (MarcoFalke)eeeed51f58test: pep-8 wallet_hd (MarcoFalke)fa9c675591Limit scope of all global std::once_flag (MarcoFalke)4f49d5222egui, refactor: Register Qt meta types in application constructor (João Barbosa)fac0ed16ecdoc: Sync "how to upgrade" with 0.20.0 release notes (MarcoFalke)fa861794d3doc: Add release notes for 17219 (MarcoFalke)facef3d413doc: Explain that anyone can work on good first issues, move text to CONTRIBUTING.md (MarcoFalke)fae2fb2a19doc: Expand section on Getting Started (MarcoFalke)100000d1b2doc: Add headings to CONTRIBUTING.md (MarcoFalke)fab893e0cadoc: Fix unrelated typos reported by codespell (MarcoFalke)f898ef65c9tests: Add fuzzing harness for functions in script/sign.h (practicalswift)c91d2f0615tests: Add fuzzing harness for functions in script/sigcache.h (practicalswift)d3d8adb79ftests: Add fuzzing harness for functions in script/interpreter.h (practicalswift)fa80117cfdtests: Add fuzzing harness for functions in script/descriptor.h (practicalswift)43fb8f0ca3tests: Add fuzzing harness for functions in script/bitcoinconsensus.h (practicalswift)8de72711c6tests: Fill fuzzing coverage gaps for functions in script/script.h, script/script_error.h and script/standard.h (practicalswift)c571ecb071tests: Add fuzzing helper functions ConsumeDataStream, ConsumeTxDestination and ConsumeUInt160 (practicalswift)9e36067d8c[test] Add test for cfilters. (Jim Posen)11106a4722[net processing] Message handling for getcfilters. (Jim Posen)e535670726[indexes] Fix default [de]serialization of BlockFilter. (Jim Posen)bb911ae7f5[refactor] Pass CNode and CConnman by reference (John Newbery)9a19c9ada5Always define the raii_event_tests test suite (Craig Andrews)60ed33904ctests: implement base58_decode (10xcryptodev)9e1cb1adf1[trivial/doc] Fix comment type (Amiti Uttarwar)8f30260a67[doc] Update unbroadcast description in RPC results (Amiti Uttarwar)750456d6f2[trivial] Remove misleading 'const' (Amiti Uttarwar)fa32e676e5[test] Manage node connections better in mempool persist test (Amiti Uttarwar)1f94bb0c74[doc] Provide rationale for randomization in scheduling. (Amiti Uttarwar)9c8a55d9cb[mempool] Don't throw expected error message when upgrading (Amiti Uttarwar)ba54983182[test] Test that wallet transactions aren't rebroadcast before 12 hours (Amiti Uttarwar)00d44a534b[test] P2P connection behavior should meet expectations (Amiti Uttarwar)bd093ca15d[test] updates to unbroadcast test (Amiti Uttarwar)dab298d9ab[docs] add release notes (Amiti Uttarwar)fad21a1a7atest: Explain that a bug should be filed when the test fail (MarcoFalke)f0d7ed10b4depends: Propagate only specific CLI variables to sub-makes (Carl Dong)0a33803f1cdepends: boost: Use clang toolset if clang in CXX (Carl Dong)1ce74bcde3depends: boost: Split target-os from toolset (Carl Dong)2d4e480813depends: boost: Specify toolset to bootstrap.sh (Carl Dong)3d6603e340depends: Propagate well-known vars into depends (Carl Dong)f871f15c9dscripted-diff: replace gArgs with argsman (glowang)357f02bf29Create a local class inherited from BasicTestingSetup with a localized args manager and put it into the getarg_tests namespace (glowang)189ae0c38butil: dedup code in callers of serviceFlagToStr() (Vasil Dimov)fbacad1880util: simplify the interface of serviceFlagToStr() (Vasil Dimov)fa2ca0cbddtest: Fix intermittent failure in feature_dbcrash (MarcoFalke)da73f1513aqt: Fix shutdown when waitfor* cmds are called from RPC console (Hennadii Stepanov)9760293ce6wallet: Fix for exported confirmation field in payment to self transactions (Ben Carman)96954d1794DNS seeds: don't query DNS while network is inactive (Anthony Towns)fa5894f7f5DNS seeds: wait for 5m instead of 11s if 1000+ peers are known (Anthony Towns)8e08d00598qt: Use parent-child relation to manage lifetime of OptionsModel object (Hennadii Stepanov)c31bc5bcfdConsolidate service flag bit-to-name conversion to a shared serviceFlagToStr function (Luke Dashjr)cea91a1e40Bugfix: GUI: Use unsigned long long type to avoid implicit conversion of MSB check (Luke Dashjr)a06e845e82BlockTip struct created and connected to notifyHeaderTip and notifyBlockTip signals. (furszy)2f867203b0Added best block hash to the NotifyHeaderTip and NotifyBlockTip signals. (furszy)4fc1df41d5qt: Track QEvent::Resize during animation (Hennadii Stepanov)2b18fd2242Disable unavailable context menu items in transactions tab (Kristaps Kaupe)c4ea501e96qt: Hide non PKHash-Addresses in signing address book (Emil Engler)1122817c19qt: Remove QFont warnings with QPA=minimal (Hennadii Stepanov)73529f0859qt: Rename slot to updateDisplayUnit() (Hennadii Stepanov)68288ef0c1qt: Overhaul ReceiveRequestDialog (Hennadii Stepanov)8d75115844qt: Add privacy feature to Overview page (Hennadii Stepanov)73d8ef7274qt: Add BitcoinUnits::formatWithPrivacy() function (Hennadii Stepanov)79b0a69e09Add missing QPainterPath include (Andrew Chow)399d84da37build: Only allow ASCII identifiers (Wladimir J. van der Laan)e8fa0a3d20Fix WSL file locking by using flock instead of fcntl (Samuel Dobson)87766b355cbuild: Replace -Wthread-safety-analysis with broader -Wthread-safety (Hennadii Stepanov)9cc6eb3c9eGet rid of -Wthread-safety-precise warnings (Hennadii Stepanov)971a468ccfUse template function instead of void* parameter (Hennadii Stepanov)dfb75ae49drefactor: Rename LockGuard to StdLockGuard for consistency with StdMutex (Hennadii Stepanov)79be487420Add thread safety annotated wrapper for std::mutex (Hennadii Stepanov)5478d6c099logging: thread safety annotations (Anthony Towns)e685ca1992util/system.cpp: add thread safety annotations for dir_locks (Anthony Towns)a788789948test/checkqueue_tests: thread safety annotations (Anthony Towns)479c5846f7rpc/blockchain.cpp: thread safety annotations for latestblock (Anthony Towns)8b5af3d4c1net: fMsgProcWake use LOCK instead of lock_guard (Anthony Towns)de7c5f41abwallet/wallet.h: Remove mutexScanning which was only protecting a single atomic bool (Anthony Towns)c3cf2f5501rpc/blockchain.cpp: Remove g_utxosetscan mutex that is only protecting a single atomic variable (Anthony Towns)c57f03ce17refactor: Replace const char* to std::string (Calvin Kim)4c825792ddRemove outdated comment about DER encoding (Elichai Turkel)1c91ffefcfdoc : add link to readme.md in the first section (pad)84ae0578b6Add release notes about salvage changes (Andrew Chow)ea337f2d03Move RecoverKeysOnlyFilter into RecoverDataBaseFile (Andrew Chow)9ea2d258b4Move RecoverDatabaseFile and RecoverKeysOnlyFilter into salvage.{cpp/h} (Andrew Chow)b426c7764dMake BerkeleyBatch::Recover and WalletBatch::RecoverKeysOnlyFilter standalone (Andrew Chow)2741774214Expose a version of ReadKeyValue and use it in RecoverKeysOnlyFilter (Andrew Chow)ced95d0e43Move BerkeleyEnvironment::Salvage into BerkeleyBatch::Recover (Andrew Chow)07250b8dcewalletdb: remove fAggressive from Salvage (Andrew Chow)8ebcbc85c6walletdb: don't automatically salvage when corruption is detected (Andrew Chow)d321046f4bwallet: remove -salvagewallet (Andrew Chow)cdd955e580Add basic test for bitcoin-wallet salvage (Andrew Chow)c87770915bwallettool: Add a salvage command (Andrew Chow)fa80b4788btest: Remove global wait_until from p2p_getdata (MarcoFalke)999922baedtest: Default mininode.wait_until timeout to 60s (MarcoFalke)fab47375fetest: pep-8 p2p_getdata.py (MarcoFalke)71f016c6ebRemove old serialization primitives (Pieter Wuille)92beff15d3Convert LimitedString to formatter (Pieter Wuille)ef17c03e07Convert wallet to new serialization (Pieter Wuille)65c589e45eConvert Qt to new serialization (Pieter Wuille)90eb027204doc: Add and fix comments about never destroyed objects (Hennadii Stepanov)26c093a995Replace thread_local g_lockstack with a mutex-protected map (Hennadii Stepanov)58e6881bc5refactor: Refactor duplicated code into LockHeld() (Hennadii Stepanov)f511f61ddarefactor: Add LockPair type alias (Hennadii Stepanov)8d8921abd3refactor: Add LockStackItem type alias (Hennadii Stepanov)458992b06dPrevent UB in DeleteLock() function (Hennadii Stepanov)fa756928c3rpc: Make gettxoutsetinfo/GetUTXOStats interruptible (MarcoFalke)fa7fc5a8e0rpc: factor out RpcInterruptionPoint from dumptxoutset (MarcoFalke)f9b22e3bdbtests: Add fuzzing harness for CCoinsViewCache (practicalswift)5308c97cca[test] Add test for cfheaders (Jim Posen)f6b58c1506[net processing] Message handling for getcfheaders. (Jim Posen)3bdc7c2d39[doc] Add comment for m_headers_cache (John Newbery)69bfcac27agui: update Qt base translations for macOS release (fanquake)5edad5ce5dtest: add -getinfo multiwallet functional tests (Jon Atack)903b6c117frpc: drop unused JSONRPCProcessBatchReply size arg, refactor (Jon Atack)afce85eb99cli: use GetWalletBalances() functionality for -getinfo (Jon Atack)9f01849a49cli: create GetWalletBalances() to fetch multiwallet balances (Jon Atack)743077544bcli: lift -rpcwallet logic up to CommandLineRPC() (Jon Atack)29f2cbdeb7cli: extract connection exception handler, -rpcwait logic (Jon Atack)fab6b9d18fvalidation: Mark g_chainman DEPRECATED (MarcoFalke)fa1d97b256validation: Make ProcessNewBlock*() members of ChainstateManager (MarcoFalke)fa24d49098validation: Make PruneOneBlockFile() a member of ChainstateManager (MarcoFalke)fa84b1cd84validation: Make LoadBlockIndex() a member of ChainstateManager (MarcoFalke)fa05fdf0f1net: Pass chainman into PeerLogicValidation (MarcoFalke)fa7b626d7anode: Add chainman alias for g_chainman (MarcoFalke)ea9fcfd130doc: Drop protobuf stuff (Hennadii Stepanov)6a239e72ebtests: Don't limit fuzzing inputs to 1 MB for afl-fuzz (now: ∞ ∀ fuzzers) (practicalswift)fad798be76test: Default --previous-releases to false if dir is empty (MarcoFalke)faf1c3cc58test: Replace TEST_PREVIOUS_RELEASES env var with test_framework option (MarcoFalke)ca2a09640fChange SetType to SetInternal and remove m_address_type (Andrew Chow)89b1ce1140Remove unimplemented SetCrypted from DescriptorScriptPubKeyMan (Andrew Chow)b9073c8f13rpc: createwallet warning that descriptor wallets are experimental (Andrew Chow)610030d95cdocs: Add release notes for descriptor wallets (Andrew Chow)1ed52fbb4dRemove IBD check in sethdseed (Andrew Chow)b1810a145aTest that keys from inactive seeds are generated (Andrew Chow)c93082ece4Generate new keys for inactive seeds after marking used (Andrew Chow)45f2f6a0e8Determine inactive HD seeds from key metadata and track them in LegacyScriptPubKeyMan (Andrew Chow)b59b4504abhave GenerateNewKey and DeriveNewChildKey take a CHDChain as an argument (Andrew Chow)651f1d816f[test] wait for inital broadcast before comparing mempool entries (gzhao408)9d3f7eb986[mempool] sanity check that all unbroadcast txns are in mempool (gzhao408)a7ebe48b94[rpc] add unbroadcast info to mempool entries and getmempoolinfo (gzhao408)d160069604[wallet] remove nLastResend logic (gzhao408)d67055e00dUpgrade or rewrite encrypted key checksums (Andrew Chow)c9a9ddb414Set fDecryptionThoroughlyChecked based on whether crypted key checksums are valid (Andrew Chow)a8334f7ac3Read and write a checksum for encrypted keys (Andrew Chow)0187d4c118[indexes] Add compact block filter headers cache (John Newbery)fa8bbb1368net: Use C++11 member initialization in protocol (MarcoFalke)fab908f18atest: Fix intermittent ETIMEDOUT on FreeBSD (MarcoFalke)4444dbf4d5gui: Remove un-actionable TODO (MarcoFalke)0ea5d70b47Updated comment for the condition where a transaction relay is denied (glowang)be01449cc8Add test for param interaction b/w -blocksonly and -whitelistforcerelay (glowang)b3f7f375efrefactor: Remove g_rpc_node global (Russell Yanofsky)ccb5059ee8scripted-diff: Remove g_rpc_node references (Russell Yanofsky)6fca33b2edrefactor: Pass NodeContext to RPC and REST methods through util::Ref (Russell Yanofsky)691c817b34Add util::Ref class as temporary alternative for c++17 std::any (Russell Yanofsky)e2bab2aa16multiprocess: add multiprocess travis configuration (Russell Yanofsky)603fd6a2e7depends: add MULTIPROCESS depends option (Russell Yanofsky)5d1377b52bbuild: multiprocess autotools changes (Russell Yanofsky)f852761aecguix: Add clarifying documentation for V env var (Carl Dong)85f4a4b082guix: Make V=1 more powerful for debugging (Carl Dong)4a614ff88atest: explicit imports from test_framework.messages in p2p_invalid_messages.py (Sebastian Falbesoner)b35e1d2471test: add inventory type constant MSG_CMPCT_BLOCK (Sebastian Falbesoner)eeaaa58d2ctest: replace inv type magic numbers by constants (Sebastian Falbesoner)f9ee0f37c2Add comments to CustomUintFormatter (Pieter Wuille)4eb5643e35Convert everything except wallet/qt to new serialization (Pieter Wuille)2b1f85e8c5Convert blockencodings_tests to new serialization (Pieter Wuille)73747afbbeConvert merkleblock to new serialization (Pieter Wuille)d06fedd1bcAdd SER_READ and SER_WRITE for read/write-dependent statements (Russell Yanofsky)6f9a1e5ad0Extend CustomUintFormatter to support enums (Russell Yanofsky)769ee5fa00Merge BigEndian functionality into CustomUintFormatter (Pieter Wuille)fabea6d404net: Run clang-format on protocol.h (MarcoFalke)facdeea2b2net: Remove un-actionable TODO (MarcoFalke)faf45d1f1fhttp: Avoid crash when g_thread_http was never started (MarcoFalke)fa12a37b27test: Replace inline-comments with logs, pep8 formatting (MarcoFalke)fa83b39ff3init: Remove confusing and redundant InitError (MarcoFalke)d3a56be77aRevert "gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged" (Russell Yanofsky)bf0a510981gui: Avoid wallet tryGetBalances calls before TransactionChanged or BlockTip notifications (Russell Yanofsky)2bc9b92ed8Cancel wallet balance timer when shutdown requested (Russell Yanofsky)83f69fab3aSwitch transaction table to use wallet height not node height (Russell Yanofsky)e8a8cff07cbuild: enforce minimum required Windows version (7) (fanquake)412d5fe879QA: feature_segwit: Check that template "rules" includes "!segwit" as appropriate (Luke Dashjr)2abe8cc3b7Bugfix: Include "csv","!segwit" in "rules" (Luke Dashjr)a0d0f1c6c3refactor: Remove Node:: queries from GUI (Hennadii Stepanov)06d519f0b4qt: Add SynchronizationState enum to signal parameter (Hennadii Stepanov)3c709aa69drefactor: Remove Node::getReindex() call from GUI (Hennadii Stepanov)1dab574edfrefactor: Pass SynchronizationState enum to GUI (Hennadii Stepanov)2bec309ad6refactor: Remove unused bool parameter in RPCNotifyBlockChange() (Hennadii Stepanov)1df77014d8refactor: Remove unused bool parameter in BlockNotifyGenesisWait() (Hennadii Stepanov)faf552117eci: Set DEBIAN_FRONTEND=noninteractive (MarcoFalke)fa006caa13ci: tsan on clang-9 (MarcoFalke)fa243be1dclog: Remove "No rpcpassword set" from logs (MarcoFalke)2896c412faDo not answer GETDATA for to-be-announced tx (Pieter Wuille)f2f32a3deePush down use of cs_main into FindTxForGetData (Pieter Wuille)c6131bf407Abstract logic to determine whether to answer tx GETDATA (Pieter Wuille)38c3dd9c70docs: Add notes on how to diasble rpc timeout in functional tests while attatching gdb. (codeShark149)784ae09625test: Add capability to disable RPC timeout in functional tests. (codeShark149)cd34038cbdSwitch from Optional<T> to std::optional<T> (C++17). Run clang-format. (practicalswift)fb559c1170tests: Fill fuzzing coverage gaps for functions in util/translation.h (practicalswift)b74f3d6c45tests: Fill fuzzing coverage gaps for functions in consensus/validation.h (practicalswift)c0bbf8193dtests: Fill fuzzing coverage gaps for functions in primitives/block.h (practicalswift)8a22fd0114avoided os-dependant path (Ferdinando M. Ametrano)8d306862efci: Add fuzzbuzz integration (practicalswift)0000ea3265test: Add test for GetRandMillis and GetRandMicros (MarcoFalke)fa0e5b89cfAdd templated GetRandomDuration<> (MarcoFalke)050e2ee6f2test: Remove const to work around compiler error on xenial (Wladimir J. van der Laan)746736639e[net processing] Only send a getheaders for one block in an INV (John Newbery)eacedfb023scripts: add additional type annotations to security-check.py (fanquake)83d063e954scripts: add run_command to security-check.py (fanquake)13f606b4f9scripts: remove NONFATAL from security-check.py (fanquake)061acf62a1scripts: no-longer check for 32 bit windows in security-check.py (fanquake)fa1f840596rpcwallet: Replace pwallet-> with wallet. (MarcoFalke)fa182a8794rpcwallet: Replace boost::optional<T>::emplace with simple assignment of T{} (MarcoFalke)7777f2a4bbminer: Avoid stack-use-after-return in validationinterface (MarcoFalke)fa5ceb25fctest: Remove UninterruptibleSleep from test and replace it by SyncWithValidationInterfaceQueue (MarcoFalke)fa770ce7fevalidationinterface: Rework documentation, Rename pwalletIn to callbacks (MarcoFalke)fab6d060cetest: Add unregister_validation_interface_race test (MarcoFalke)a30b0a24e9build: enable -Werror=gnu (Vasil Dimov)faa26d3744test: Remove RPCOverloadWrapper boilerplate (MarcoFalke)78be8d97d3util: Drop OpOriginal() and OpTranslated() (Hennadii Stepanov)da16f95c3fgui: Do not translate InitWarning messages in debug.log (Hennadii Stepanov)4c9b9a4882util: Enhance Join() (Hennadii Stepanov)fe05dd0611util: Enhance bilingual_str (Hennadii Stepanov)c269e618cfDrop unused GIT_COMMIT_DATE macro (Hennadii Stepanov)8f9f4ba5e2refactor: Remove duplicated code (Hennadii Stepanov)35f1189ea7build: Rename BUILD_* macros and the code self-descriptive (Hennadii Stepanov)dc1fba9389scripted-diff: Rename share/genbuild.sh macros to more meaningful ones (Hennadii Stepanov)1e06bb68beDrop unused CLIENT_VERSION_SUFFIX macro (Hennadii Stepanov)df6bde031btest: remove glibc fdelt sanity check (fanquake)8bf1540cc2build: remove fdelt_chk backwards compatibility code (fanquake)f963a68051test: Add test for conflicted wallet tx notifications (Russell Yanofsky)0c63f80854build: Suppress -Wdeprecated-copy warnings (Hennadii Stepanov)9f59dde974rpc: Relock wallet only if most recent callback (João Barbosa)a2e6db5c4frpc: Add mutex to guard deadlineTimers (João Barbosa)a8b5f1b133gui: Fix manual coin control with multiple wallets loaded (João Barbosa)e8123eae40gui: Fix itemWalletAddress leak when not tree mode (João Barbosa)839add193bbuild: Enable -Wsuggest-override (Hennadii Stepanov)de5e91c303refactor: Add BerkeleyDatabaseVersion() function (Hennadii Stepanov)e3047edfb6test: use p2p constants in denial of service tests (fanquake)25d8264c95p2p: add MAX_FEELER_CONNECTIONS constant (tryphe)23083856a5[test] Add test for cfcheckpt (Jim Posen)f9e00bb25a[net processing] Message handling for getcfcheckpt. (Jim Posen)9ccaaba11e[init] Add -peerblockfilters option (Jim Posen)cbd661122eSet LD_LIBRARY_PATH consistently in travis tests (Russell Yanofsky)fa35c34df7Remove unused ci configs that have been moved elsewhere (MarcoFalke)3333cb9699fuzz: Pass down MAKEJOBS to test_runner (MarcoFalke)83da576f44net: use CMessageHeader::HEADER_SIZE, add missing include (Jon Atack)d97fac422eAdd a link from ZMQ doc to ZMQ example in contrib/ (Damian Mee)89fea68ffdbuild: don't pass -w when building for Windows (fanquake)9847e205bf[docs] Improve commenting in ProcessGetData() (John Newbery)2f032556e0[test] test that an invalid GETDATA doesn't prevent processing of future messages (Amiti Uttarwar)e257cf71c8[net processing] ignore unknown INV types in GETDATA messages (Amiti Uttarwar)047ceac142[net processing] ignore tx GETDATA from blocks-only peers (Amiti Uttarwar)d044e0ec7drefactor: Remove override for final overriders (Hennadii Stepanov)1551cea2d5refactor: Use override for non-final overriders (Hennadii Stepanov)872aa25fa1doc: add c++17-enable to fuzzing instructions (Martin Zumsande)68537275bdbuild: Enable -Werror=sign-compare (Ben Woosley)eac6a3080drefactor: Rework asmap Interpret to avoid ptrdiff_t (Ben Woosley)df37377e30test: Fix outstanding -Wsign-compare errors (Ben Woosley)420fa0770ffuzz: use std::optional for sep_pos variable (Harris)fae153b409test: Fix verack race to avoid intermittent test failures (MarcoFalke)095bc9a106fuzz: fix vector size problem in system fuzzer (Harris)18bd83b1feutil: Cleanup translation.h (Hennadii Stepanov)e95e658b8edoc: Do not translate technical or extremely rare errors (Hennadii Stepanov)7e923d47baMake InitError bilingual (Hennadii Stepanov)917ca93553Make ThreadSafe{MessageBox|Question} bilingual (Hennadii Stepanov)23b9fa2e5egui: Add detailed text to BitcoinGUI::message (Hennadii Stepanov)d135c29476[ci] make list of previous releases to download a setting (Sjors Provoost)9c246b873c[test] backwards compatibility: bump v0.19.0.1 to v0.19.1 (Sjors Provoost)89a28e02fa[test] add v0.16.3 backwards compatibility test (Sjors Provoost)8c705ff129travis: Remove s390x (MarcoFalke)1e94a2bcbcdepends: Add --sysroot option to mac os native compile flags (Russell Yanofsky)fa082d0a57travis: Remove valgrind (MarcoFalke)a029805f57build: remove -Qunused-arguments workaround for clang + ccache (fanquake)fa3f9a0566test: Fix intermittent sync_blocks failures (MarcoFalke)03da4c7781build: make linker checks more robust (Cory Fields)748977690eAdd asmap_direct fuzzer that tests Interpreter directly (Pieter Wuille)7cf97fda15Make asmap Interpreter errors fatal and fuzz test it (Pieter Wuille)c81aefc537Add additional effiency checks to sanity checker (Pieter Wuille)fffd8dca2dAdd asmap sanity checker (Pieter Wuille)5feefbe6e7Improve asmap Interpret checks and document failures (Pieter Wuille)2b3dbfa5a6Deal with decoding failures explicitly in asmap Interpret (Pieter Wuille)1479007a33Introduce Instruction enum in asmap (Pieter Wuille)fa47cf9d95wallet: Fix typo in assert that is compile-time true (MarcoFalke)71f183a49bbuild: warn on potentially uninitialized reads (Vasil Dimov)fa09110ebbdoc: Fix typo in Coin doxygen comment (MarcoFalke)1ad8ea2b73net: remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix (Sebastian Falbesoner)bfe1ba2f5brel-builds: Specify core.abbrev for git-rev-parse (Carl Dong)27e63e01ccbuild: Accomodate makensis v2.x (Carl Dong)1f2c39a30eguix: Remove logical cores requirement (Carl Dong)a4f6ffa71elint: Also enable source statements for non-gitian (Carl Dong)d256f91cb1rel-builds: Directly deploy win installer to OUTDIR (Carl Dong)fa791da02fnsis: Specify OutFile path only once (Carl Dong)14701604d0guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong)f5a6ac4f48guix: Make source tarball using git-archive (Carl Dong)395c1137f6gitian: Limit sourced script to just assignments (Carl Dong)28b112e9bdGet rid of BindWallet (Russell Yanofsky)d002f9d15dDisable CWalletTx copy constructor (Russell Yanofsky)65b9d8f8ddAvoid copying CWalletTx in LoadToWallet (Russell Yanofsky)bd2fbc7cdbGet rid of unneeded CWalletTx::Init parameter (Russell Yanofsky)2b9cba2065Remove CWalletTx merging logic from AddToWallet (Russell Yanofsky)fa13090d20contrib: Remove optimize-pngs.py script, which lives in the maintainer repo (MarcoFalke)d7120f7f78valgrind : remove duplicate BCLog::Logger suppression (fanquake)708e3c7e85valgrind: remove rest_blockhash_by_height suppression (fanquake)2a78098098wallet: Make sure no WalletDescriptor members are uninitialized after construction (practicalswift)ff046aeebawallet: Make sure no DescriptorScriptPubKeyMan members are uninitialized after construction (practicalswift)0ae8f18dfebuild: add -Wgnu to compile flags (fanquake)3a0fd7726bRemove use of non-standard zero variadic macros (Ben Woosley)49f6178c3eDrop unused LOG_TIME_MICROS helper (Ben Woosley)5d4999951eprevector: Avoid unnamed struct, which is a GNU extension (DesWurstes)f85203097flockedpool: avoid sensitive data in core files (FreeBSD) (Vasil Dimov)fa2cce4391wallet: Remove trailing whitespace from potential translation strings (MarcoFalke)fa59cc1c97wallet: Report full error message in wallettool (MarcoFalke)fae7776690wallet: Avoid translating RPC errors when creating txs (MarcoFalke)fae51a5c6fwallet: Avoid translating RPC errors when loading wallets (MarcoFalke)faec3dc2adinit: Remove boost from ThreadImport (MarcoFalke)38e49ded8btests: Add fuzzing harness for MessageSign, MessageVerify and other functions in util/message.h (practicalswift)b56607a89bRemove CCoinsViewCache::GetValueIn(...) (practicalswift)f5a3a5b9abgui: Add close window shortcut (Miguel Herranz)489ebfd7a1tests: feature_backwards_compatibility.py test downgrade after upgrade (Andrew Chow)fab7ee3990test: Fix p2p_leak intermittent issue (MarcoFalke)fa8614aea9test: Fix intermittent p2p_segwit issue (MarcoFalke)2742c34286test: add factor option to adjust test timeouts (Harris)2748e87932script: prevent UB when computing abs value for num opcode serialize (pierrenn)fa359d14c0test: Strip down previous releases boilerplate (MarcoFalke)6a72f26968[wallet] Remove locked_chain from CWallet, its RPCs and tests (Antoine Riard)841178820d[wallet] Move methods from Chain::Lock interface to simple Chain (Antoine Riard)0a76287387[wallet] Move getBlockHash from Chain::Lock interface to simple Chain (Antoine Riard)de13363a47[wallet] Move getBlockHeight from Chain::Lock interface to simple Chain (Antoine Riard)b855592d83[wallet] Move getHeight from Chain::Lock interface to simple Chain (Antoine Riard)aaaacff107ci: Merge C++17 build with one of the existing ones (MarcoFalke)2bcc2bd742tests: Clarify how we avoid hitting the signed integer overflow in CFeeRate::GetFeePerK() when fuzzing (practicalswift)13c1f6b24ftests: Add fuzzing harness for IsRBFOptIn(...) (practicalswift)3439c88a5dtests: Add fuzzing harness for CBlockPolicyEstimator (practicalswift)de8905adf2test: use unittest and test_runner for test framework unit testing (Gloria Zhao)fac0cf6e55rpc: Do not advertise dumptxoutset as a way to flush the chainstate (MarcoFalke)06e434d7d9test: fix message for ECC_InitSanityCheck test (fanquake)692f8307fctest: add test for witness commitment index (fanquake)06442549f8validation: Add minimum witness commitment size constant (fanquake)ff6549c3c8fix: update rest info on block size and json (Chris Abrams)c31cbe7cfeAdd C++17 test to Travis (Pieter Wuille)7829685e27Add configure option for c++17 (Pieter Wuille)0fbde488b2Support conversion between Spans of compatible types (Pieter Wuille)7cbfebbf3dUpdate ax_cxx_compile_stdcxx.m4 (Pieter Wuille)182dbdf0f4util: Detect posix_fallocate() instead of assuming (Vasil Dimov)cd543d9193test: check misbehavior more independently in p2p_filter.py (Danny Lee)32b6b386a5tests: Sort fuzzing harnesses (practicalswift)e1e181fad1tests: Add fuzzing coverage for JSONRPCTransactionError(...) and RPCErrorFromTransactionError(...) (practicalswift)103b6ecce0tests: Add fuzzing coverage for TransactionErrorString(...) (practicalswift)dde508b8b0tests: Add fuzzing coverage for ParseFixedPoint(...) (practicalswift)1532259fcatests: Add fuzzing coverage for FormatHDKeypath(...) and WriteHDKeypath(...) (practicalswift)90b635e84etests: Add fuzzing coverage for CHECK_NONFATAL(...) (practicalswift)a4e3d13df6tests: Add fuzzing coverage for StringForFeeReason(...) (practicalswift)a19598cf98tests: Add fuzzing harness for functions in system.h (ArgsManager) (practicalswift)7918c1b019test: Add CreateWalletFromFile test (Russell Yanofsky)8098dea069test: Add mempool_updatefromblock.py (Hennadii Stepanov)45615de26cci: Fix default retry script usage (Hennadii Stepanov)66fe7b1a98test: added test for upgradewallet RPC (Harris)fabe44e815bench: Start nodes with -nodebuglogfile (MarcoFalke)fcb7261625Prevent valgrind false positive in rest_blockhash_by_height (Russell Yanofsky)50fc4df6c4[mempool] Persist unbroadcast set to mempool.dat (Amiti Uttarwar)297a178536[test] Integration tests for unbroadcast functionality (Amiti Uttarwar)6851502472[refactor/test] Extract P2PTxInvStore into test framework (Amiti Uttarwar)dc1da48dc5[wallet] Update the rebroadcast frequency to be ~1/day. (Amiti Uttarwar)e25e42f20a[p2p] Reattempt initial send of unbroadcast transactions (Amiti Uttarwar)7e93eecce3[util] Add method that returns random time in milliseconds (Amiti Uttarwar)89eeb4a333[mempool] Track "unbroadcast" transactions (Amiti Uttarwar)7b2b06dfe3tests: Add missing sync_all to wallet_importdescriptors.py (Andrew Chow)fa301fec96test: Fix wallet_bumpfee intermittent error (MarcoFalke)fae49f6e42ci: Add and document BASE_BUILD_DIR (MarcoFalke)bda62e87e6Adding build instructions to Bitcoin Core, fixes #18658 (Saahil Shangle)fa72a75102ci: Document why tests can not be run on mac (MarcoFalke)cd24f37ea9doc: Better explain GNU ld's dislike of ld64's options (fanquake)e3ec4924a7qt: remove todo bug fix for old versions of Qt (10xcryptodev)2aa48edec0refactor: Drop unused ${WRAP_DIR}/${HOST} directory (Hennadii Stepanov)1362be0447build: Drop make dist in gitian builds (Hennadii Stepanov)3e38023af7scripts: add PE .reloc section check to security-check.py (fanquake)fac24dea00ci: Run functional tests on mac again (MarcoFalke)fa501700e9wallet: Recommned absolute path for dumpwallet (MarcoFalke)223588b1bbAdd a --descriptors option to various tests (Andrew Chow)869f7ab30atests: Add RPCOverloadWrapper which overloads some disabled RPCs (Andrew Chow)cf06062859Correctly check for default wallet (Andrew Chow)886e0d75f5Implement CWallet::IsSpentKey for non-LegacySPKMans (Andrew Chow)3c19fdd2a2Return error when no ScriptPubKeyMan is available for specified type (Andrew Chow)388ba94231Change wallet_encryption.py to use signmessage instead of dumpprivkey (Andrew Chow)1346e14831Functional tests for descriptor wallets (Andrew Chow)f193ea889dadd importdescriptors RPC and tests for native descriptor wallets (Hugo Nguyen)ce24a94494Add IsLegacy to CWallet so that the GUI knows whether to show watchonly (Andrew Chow)1cb42b22b1Generate new descriptors when encrypting (Andrew Chow)82ae02b165Be able to create new wallets with DescriptorScriptPubKeyMans as backing (Andrew Chow)b713baa75aImplement GetMetadata in DescriptorScriptPubKeyMan (Andrew Chow)8b9603bd0bChange GetMetadata to use unique_ptr<CKeyMetadata> (Andrew Chow)72a9540df9Implement FillPSBT in DescriptorScriptPubKeyMan (Andrew Chow)84b4978c02Implement SignMessage for descriptor wallets (Andrew Chow)bde7c9fa38Implement SignTransaction in DescriptorScriptPubKeyMan (Andrew Chow)d50c8ddd41Implement GetSolvingProvider for DescriptorScriptPubKeyMan (Andrew Chow)f1ca5feb4aImplement GetKeypoolOldestTime and only display it if greater than 0 (Andrew Chow)586b57a9a6Implement ReturnDestination in DescriptorScriptPubKeyMan (Andrew Chow)f866957979Implement GetReservedDestination in DescriptorScriptPubKeyMan (Andrew Chow)a775f7c7fdImplement Unlock and Encrypt in DescriptorScriptPubKeyMan (Andrew Chow)bfdd073486Implement GetNewDestination for DescriptorScriptPubKeyMan (Andrew Chow)58c7651821Implement TopUp in DescriptorScriptPubKeyMan (Andrew Chow)e014886a34Implement SetupGeneration for DescriptorScriptPubKeyMan (Andrew Chow)46dfb99768Implement writing descriptorkeys, descriptorckeys, and descriptors to wallet file (Andrew Chow)4cb9b69be0Implement several simple functions in DescriptorScriptPubKeyMan (Andrew Chow)d1ec3e4f19Add IsSingleType to Descriptors (Andrew Chow)953feb3d27Implement loading of keys for DescriptorScriptPubKeyMan (Andrew Chow)2363e9fcaaLoad the descriptor cache from the wallet file (Andrew Chow)46c46aebb7Implement GetID for DescriptorScriptPubKeyMan (Andrew Chow)ec2f9e1178Implement IsHDEnabled in DescriptorScriptPubKeyMan (Andrew Chow)741122d4c1Implement MarkUnusedAddresses in DescriptorScriptPubKeyMan (Andrew Chow)2db7ca765cImplement IsMine for DescriptorScriptPubKeyMan (Andrew Chow)db7177af8cAdd LoadDescriptorScriptPubKeyMan and SetActiveScriptPubKeyMan to CWallet (Andrew Chow)78f8a92910Implement SetType in DescriptorScriptPubKeyMan (Andrew Chow)834de0300cStore WalletDescriptor in DescriptorScriptPubKeyMan (Andrew Chow)d8132669e1Add a lock cs_desc_man for DescriptorScriptPubKeyMan (Andrew Chow)3194a7f88aIntroduce WalletDescriptor class (Andrew Chow)6b13cd3fa8Create LegacyScriptPubKeyMan when not a descriptor wallet (Andrew Chow)aeac157c9dReturn nullptr from GetLegacyScriptPubKeyMan if descriptor wallet (Andrew Chow)96accc73f0Add WALLET_FLAG_DESCRIPTORS (Andrew Chow)6b8119af53Introduce DescriptorScriptPubKeyMan as a dummy class (Andrew Chow)06620302c7Introduce SetType function to tell ScriptPubKeyMans the type and internal-ness of it (Andrew Chow)faec063887log: Use Join() helper when listing log categories (MarcoFalke)fa8b9b5d1ftest: Fix intermittent failure in wallet_importmulti (MarcoFalke)fa489011d9test: Remove raw-tx byte juggling in mempool_reorg (MarcoFalke)fd8e99da57tests: Add fuzzing harness for functions in primitives/transaction.h (practicalswift)d5a31b7cb4tests: Add fuzzing harness for functions in primitives/block.h (practicalswift)fa66280396fuzz: Run in parallel (MarcoFalke)bb1ec36fb1doc: Document how to fuzz Bitcoin Core using honggfuzz (practicalswift)0956e46bfftest: use zero-argument super() shortcut (Python 3.0+) (Sebastian Falbesoner)a9b957740ebench: add CAddrMan benchmarks (Vasil Dimov)e9ea95a30d[net processing] Move all const declarations to top of net_processing.cpp (John Newbery)507b36dd1b[validation] Move all const declarations to top of validation.h (John Newbery)0109622b08[validation] Move validation-only consts to validation.cpp (John Newbery)b8580cacc7[net processing] Move net processing consts to net_processing.cpp (John Newbery)2495110012test: add coverage for -rpcwallet cli option (Jon Atack)c4027e7350refactor: test: use wait_for_getdata() in p2p_compactblocks.py (Sebastian Falbesoner)fa262712catest: Check submitblock return values (MarcoFalke)fdceb63283fuzz: Remove enumeration of expected deserialization exceptions in ProcessMessage(...) fuzzer (practicalswift)a2a03c3ca9fixing documentation to not require rpcpassword (“jkcd”)8f5dc8800atest: display command line options passed to send_cli() in debug log (Jon Atack)fae98668d1test: Fix intermittent error in mempool_reorg (MarcoFalke)eb37275a6fFix naming of macOS SDK and clarify version (Andrew Chow)9f5608c289test: check for matching object hashes in wait_for_getdata (Danny Lee)fa60afc4fbwallet: Add BlockUntilSyncedToCurrentChain to dumpwallet (MarcoFalke)764bfe4cba[psbt] add file size limit (Sjors Provoost)1cd8dc2556[gui] load PSBT (Sjors Provoost)f6895301f7[gui] save PSBT to file (Sjors Provoost)1d05a9d80bMove DEFAULT_MAX_RAW_TX_FEE_RATE to node/transaction.h (Sjors Provoost)86e22d23bb[util] GetFileSize (Sjors Provoost)6ab3aad9a5[gui] send dialog: split on_sendButton_clicked (Sjors Provoost)faff9e4bb4test: Remove unused, undocumented and misleading CScript.__add__ (MarcoFalke)facaefadd3doc: Add wallet release notes for 0.21.0 (MarcoFalke)faa4243c11Add release notes skeleton, so that notes can be filled easier (MarcoFalke)fa1fdb02fcbench: Replace ::mempool globabl with test_setup.mempool (MarcoFalke)fab1170964bench: Remove requirement that all benches use RegTestingSetup (MarcoFalke)315a4d36f7build: fix ASLR for bitcoin-cli on Windows (fanquake)8508473094Avoid non-trivial global constants in SHA-NI code (Pieter Wuille)21fa0a44ab[docs] use consistent naming for possible_overwrite (John Newbery)2685c214cc[tests] small whitespace fixup (John Newbery)e9936966c0scripted-diff: Rename PRUNED to SPENT in coins tests (John Newbery)c205979031[docs] Improve commenting in coins.cpp|h (John Newbery)b91e4ae0d8Do not expose and consider -logthreadnames when it does not work (Hennadii Stepanov)ccccd51908script: Remove undocumented and unused operator+ (MarcoFalke)8334ee31f8scripts: add MACHO LAZY_BINDINGS test to test-security-check.py (fanquake)7b99c7454cscripts: add MACHO Canary check to security-check.py (fanquake)b155fcda51doc: fix typo in configure.ac (fanquake)20a30922fbdoc: note why we can't use thread_local with glibc back compat (fanquake)3c21db7b78[test] add 8 error messages to feature_segwit and change version to type (Gloria Zhao)fac2fc4dd8test: Increase debugging to hunt down mempool_reorg intermittent failure (MarcoFalke)60cdcf30a4test: Fix linter issue (Hennadii Stepanov)c743718558test: add further BIP37 size limit checks to p2p_filter.py (Sebastian Falbesoner)69749fbe6atests: Add fuzzing harness for Golomb-Rice coding (GolombRiceEncode/GolombRiceDecode) (practicalswift)b68e717967build: Set libevent minimum version to 2.0.21 (Hennadii Stepanov)faebcd4e8dci: Remove xenial tsan workaround (MarcoFalke)a1d5b12ec0Merge getreceivedby tally into GetReceived function (Andrew Toth)709998467erpc: doc: Fix and extend getblockstats examples (Adam Soltys)a9ecbdfcaatest: add more inactive filter tests to p2p_filter.py (Sebastian Falbesoner)5eae034996net: limit BIP37 filter lifespan (active between 'filterload' and 'filterclear') (Sebastian Falbesoner)92fe537cf7test: fix intermittent race condition in interface_bitcoin_cli.py (Jon Atack)c648e636b2test: add wait_for_cookie_credentials() to test framework (Jon Atack)fc289b7898wallet: Refactor WalletRescanReserver to use wallet reference (João Barbosa)9df32e820dscripted-diff: test: replace command with msgtype (Sebastian Falbesoner)0d32d66148Remove -upgradewallet startup option (Andrew Chow)92263cce5bAdd upgradewallet RPC (Andrew Chow)1e48796c99Make UpgradeWallet a member function of CWallet (Andrew Chow)c988f27937Have UpgradeWallet take the version to upgrade to and an error message out parameter (Andrew Chow)1833237123Only run UpgradeWallet if the wallet needs to be upgraded (Andrew Chow)9c16b1735fMove wallet upgrading to its own function (Andrew Chow)3718ae2ef8[tests] Don't initialize PrecomputedTransactionData in txvalidationcache tests (John Newbery)fa03713e13test: Properly raise FailedToStartError when rpc shutdown before warmup finished (take 2) (MarcoFalke)27abd1a4f4test: Replace boost::mutex with std::mutex (Hennadii Stepanov)fabfcad876test: Bump timeout in wallet_import_rescan (MarcoFalke)92bcd70808[wallet] allow transaction without change if keypool is empty (Sjors Provoost)709f8685ac[wallet] CreateTransaction: simplify change address check (Sjors Provoost)5efc25f963[wallet] translate "Keypool ran out" message (Sjors Provoost)6f8b498d18fuzz: http_request workaround for libevent < 2.1.1 (Sebastian Falbesoner)fa32097541test: Create cached blocks not in the future (MarcoFalke)faceeae49aci: Disable valgrind functionl tests on forked repos to avoid timeouts (MarcoFalke)fa168d7542rpc: Document all aliases for first arg of listtransactions (MarcoFalke)fa5b1f067frpc: Document all aliases for second arg of getblock (MarcoFalke)fa86a4bbfcrpc: Rename first arg of generateblock RPC to "output" (MarcoFalke)fa4632c417test: Move boost/stdlib includes last (MarcoFalke)fa488f131fscripted-diff: Bump copyright headers (MarcoFalke)fac5c37300scripted-diff: Sort test includes (MarcoFalke)eab7367e25fuzz: fix unused variable compiler warning (Jon Atack)38677274f9rpc: settxfee respects -maxtxfee wallet setting (Fabian Jahr)bda84a08a0rpc: Add documentation for deactivating settxfee (Fabian Jahr)a2324e4d3ftest: Improve naming and logging of avoid_reuse tests (Fabian Jahr)1abbdac677wallet: Prefer full destination groups in coin selection (Fabian Jahr)69ffddc83erefactor: Remove unused methods CBloomFilter::reset()/clear() (Sebastian Falbesoner)9b5950db86bnb: exit selection when best_waste is 0 (Andrew Chow)faf989f936util: Document why ArgsManager (con/de)structor is not inline (MarcoFalke)fae00a77e2bench: Remove unused argsman.ClearArgs (MarcoFalke)fa46aebeb1scripted-diff: Replace gArgs with local argsman in bench (MarcoFalke)fa2bc4141dtools: Add unused argsman to bench_bitcoin (MarcoFalke)e44aeefaaegitian: Add missing automake package to gitian-win-signer.yml (Andrew Chow)0c6318788bci: Limit cache size regardless of NO_DEPENDS (Hennadii Stepanov)bee88b8c58tests: have coins simulation test also use CCoinsViewDB (James O'Beirne)9986608ba9test: Verify findCommonAncestor always initializes outputs (Russell Yanofsky)c28c7b882btest: add -getinfo "unlocked_until" and "headers" coverage (Jon Atack)bb13f46fb1test: verify cli.getwalletinfo in wallet section (Jon Atack)becc8b9747test: verify bitcoin-cli -version with node stopped (Jon Atack)727b67e7b8test: add coverage for bitcoin-cli -rpcwait (Jon Atack)a95af77eb2qt: Make bitcoin.ico non-executable (practicalswift)f63dec189c[REFACTOR] Initialize PrecomputedTransactionData in CheckInputScripts (Pieter Wuille)fa69f88486fuzz: Disable debug log file (MarcoFalke)fa0cbd48c4test: Add optional extra_args to testing setup (MarcoFalke)fad4fa7e2fnode: Add args alias for gArgs global (MarcoFalke)808ef36b89[doc] Update thread information in developer docs (John Newbery)fac0c8db9fappveyor: Remove clcache (MarcoFalke)fa176e253ftest: Avoid accessing free'd memory in validation_chainstatemanager_tests (MarcoFalke)fa4c29bc1dtest: Add various low-level p2p tests (MarcoFalke)1b04302e43gui: use PACKAGE_NAME in exception message (fanquake)905e2e85bagitian: add jonatack gpg key fingerprint (Jon Atack)c47adf8df4Added my fingerprint Stephan Oeste (Emzy) (Stephan Oeste)f2b5b0a3b4build: add linker optimization flags to guix (fanquake)b8b050a8d6build: add linker optimization flags to gitian descriptors (fanquake)88884ee8d8script: Disallow silent bool -> CScript conversion (MarcoFalke)fa6cb00ce5doc: Fix macos comments in release-notes (MarcoFalke)fa50d11dd1appveyor: Disable functional tests for now (MarcoFalke)48973402d8wallet: Avoid use of Chain::Lock in CWallet::GetKeyBirthTimes (Russell Yanofsky)e958ff9ab5wallet: Avoid use of Chain::Lock in CWallet::CreateTransaction (Russell Yanofsky)c0d07dc4cbwallet: Avoid use of Chain::Lock in CWallet::ScanForWalletTransactions (Russell Yanofsky)1be8ff280cwallet: Avoid use of Chain::Lock in rescanblockchain (Russell Yanofsky)3cb85ac594wallet refactor: Avoid use of Chain::Lock in CWallet::RescanFromTime (Russell Yanofsky)f7ba881bc6wallet: Avoid use of Chain::Lock in listsinceblock (Russell Yanofsky)bc96a9bfc6wallet: Avoid use of Chain::Lock in importmulti (Russell Yanofsky)25a9fcf9e5wallet: Avoid use of Chain::Lock in importwallet and dumpwallet (Russell Yanofsky)c1694ce6bbwallet: Avoid use of Chain::Lock in importprunedfunds (Russell Yanofsky)ade5f87971wallet refactor: Avoid use of Chain::Lock in qt wallettests (Russell Yanofsky)f6da44cccewallet: Avoid use of Chain::Lock in tryGetTxStatus and tryGetBalances (Russell Yanofsky)bf30cd4922refactor: Add interfaces::FoundBlock class to selectively return block data (Russell Yanofsky)0306d78cb4Use getbalances in wallet_address_types tests (Jon Atack)7eacdc5167Shift coverage from getunconfirmedbalance to getbalances in wallet_abandonconflict tests (Jon Atack)3e6f7377f6Improve getbalances coverage in wallet_balance tests (Jon Atack)73f8303629ci: Add pip cache (Hennadii Stepanov)6d480667b2ci: Print ccache statistics summary (Hennadii Stepanov)a6eea715ffci: Drop unused WINEDEBUG variable (Hennadii Stepanov)0753efd9dcrpc: Remove deprecated "size" from mempool txs (Vasil Dimov)9cdddae3b4test: add rpc_signrawtransaction logging (Jon Atack)4d6cde38cetest: refactor rpc_signrawtransaction witness script tests (Jon Atack)fab9899204test: Try once more when RPC connection fails on Windows (MarcoFalke)faa655731etest: Document why connection is re-constructed on windows (MarcoFalke)fa9f4f663ctest: Remove python 3.4 workaround (MarcoFalke)fae760f2b2cirrus: Bump freebsd to 12.1 (MarcoFalke)c0af173da2doc: default minconf for getbalance should be 0 (U-Zyn Chua)555567ace9test: Extend wallet_dump test to cover comments (MarcoFalke)fa404f1e47test: Check that the version message does not leak the local address of the node (MarcoFalke)b1b0cfecb6test: Remove REJECT message code (Hennadii Stepanov)854382885frefactor: test: improve wait_for{header,merkleblock} interface (Sebastian Falbesoner)1356a45ef0test: complete impl. of msg_merkleblock and wait_for_merkleblock (Sebastian Falbesoner)2599d13c94rpc: Remove deprecated migration code (Vasil Dimov)a35e323589guix: Appease travis. (Carl Dong)0b66d22da5guix: Use gcc-9 for mingw-w64 instead of 8 (Carl Dong)ba0b99bdd6guix: Don't set MINGW_HAS_SECURE_API CFLAG in depends (Carl Dong)93439a71edguix: Bump to upstream commit with mingw-w64 changes (Carl Dong)35a96792ddguix: Check mingw symbols, improve SSP fix docs (Carl Dong)449d8fe25bguix: Expand on INT trap message (Carl Dong)3f1f03c67aguix: Spelling fixes (Carl Dong)ff821dd2a1guix: Reinstate make-ssp-fixed-gcc (Carl Dong)360a9e0ad5guix: Bump time-machine for mingw-w64 patches (Carl Dong)93e41b7e3bguix: Use gcc-8 for mingw-w64 instead of 7 (Carl Dong)ef4f7e4c45guix: Set the well-known timezone env var (Carl Dong)acf4b3b3b5guix: Make x86_64-w64-mingw32 builds reproducible (Carl Dong)c4cce00eacguix: Remove dead links from README. (Carl Dong)df953a4c9aguix: Appease shellcheck. (Carl Dong)91897c95e1guix: Improve guix-build.sh documentation (Carl Dong)570d769c6cguix: Build support for Windows (Carl Dong)f29bd546ecRevert "Merge #16367: Multiprocess build support" (MarcoFalke)96cb597325gui: Avoid redundant tx status updates (Russell Yanofsky)dabe2bb11abuild: Bump gitian descriptors to 0.21 (Wladimir J. van der Laan)7524b6479cAdd tests for generateblock (Andrew Toth)dcc8332543Add generateblock rpc (Andrew Toth)c9017ce3bcprotect g_chainman with cs_main (James O'Beirne)2b081c4568test: add basic tests for ChainstateManager (James O'Beirne)4ae29f5f0cuse ChainstateManager to initialize chainstate (James O'Beirne)5b690f0aaerefactor: move RewindBlockIndex to CChainState (James O'Beirne)89cdf4d569validation: introduce unused ChainstateManager (James O'Beirne)8e2ecfe249validation: add CChainState.m_from_snapshot_blockhash (James O'Beirne)14e8cf974a[consensus] MOVEONLY: Move single-sig checking EvalScript code to EvalChecksig (Pieter Wuille)3ce16ad2f9refactor: Use psbt forward declaration (Russell Yanofsky)1dde238f2cAdd ChainClient setMockTime, getWallets methods (Russell Yanofsky)b919efadffdepends: Use default macos clang compiler (Russell Yanofsky)d54f64c6c7Add multiprocess travis configuration (Russell Yanofsky)787f40668dSet LD_LIBRARY_PATH consistently in travis tests (Russell Yanofsky)d630646662libmultiprocess depends build (Russell Yanofsky)e6e44eedd5Multiprocess build changes (Russell Yanofsky)01a3392b1bDrop bitcoin-wallet dependency on libevent (Russell Yanofsky)0660119ac3Drop unintended bitcoin-tx dependency on libevent (Russell Yanofsky)5df0877f91test: update and harden interface_bitcoin_cli tests (Jon Atack)75019774c9cli -getinfo: use getbalances instead of deprecated getwalletinfo balance (Jon Atack)d84c9aa25dbuild: Bump version to 0.20.99 (Wladimir J. van der Laan)fad691caferpc: Make verifychain default values static, not depend on global args (MarcoFalke)7fcdec0f32Remove PID file at the very end (Hennadii Stepanov)fa1da3d4bftest: Add basic addr relay test (MarcoFalke)fa1793c1c4net: Pass connman const when relaying address (MarcoFalke)fa47a0b003net: Make addr relay mockable (MarcoFalke)478c11dde3Correct scripted-diff example link (Yahia Chiheb)5ca90f8b59scripts: add MACHO lazy bindings check to security-check.py (fanquake)b1d24d1d03Reorder the test instructions by number (Pieter Wuille)c2ccadc26aMerge and generalize case 3 and case 6 (Pieter Wuille)402ad5aacaOnly run sanity check once at the end (Pieter Wuille)eda8309bfcAssert immediately rather than caching failure (Pieter Wuille)55608455cbMake a fuzzer-based copy of the prevector randomized test (Pieter Wuille)faede1b293test: Properly raise FailedToStartError when rpc shutdown before warmup finished (MarcoFalke)6136a96cdfci: Rename RUN_CI_ON_HOST to DANGER_RUN_CI_ON_HOST (Hennadii Stepanov)97ba77aa8eci: Add native s390x (Hennadii Stepanov)fa5e973b44test: Set -use_value_profile=1 when merging fuzz inputs (MarcoFalke)fa7af33b4cci: Run unit tests sequential once (MarcoFalke)fa68a3e764appveyor: Enable minimal unit test logging to aid debugging (MarcoFalke)cdfb8e7afatests: Add fuzzing harness for HTTPRequest, libevent's evhttp and related functions (practicalswift)fa6a008434fuzz: Add process_messages harness (MarcoFalke)7777e3624fscripted-diff: Replace strCommand with msg_type (MarcoFalke)283bd72156tests: Add coverage of {,Incremental}DynamicUsage(const std::set<X, Y>& s) to existing fuzzer (practicalswift)bf76000493tests: Add fuzzing harness for classes/functions in cuckoocache.h (practicalswift)57890b2555tests: Add fuzzing harness for classes/functions in checkqueue.h (practicalswift)2df5701e90tests: Add coverage of GetVirtualTransactionSize(...) to existing fuzzer (practicalswift)7b9a2dc864tests: Add fuzzing harness for AdditionOverflow(...) (practicalswift)44fb2a596btests: Add fuzzing harness for FeeFilterRounder (practicalswift)13d2a33537Fix unregister_all_during_call cleanup (Russell Yanofsky)da0842dcd4build: Update ax_boost_mase.m4 to the latest serial (Hennadii Stepanov)2276339a17Add test for UnregisterAllValidationInterfaces bug (Russell Yanofsky)3c61abbbc8Do not clear validationinterface entries being executed (Pieter Wuille)fa1a92224drpc: Avoid initialization-order-fiasco on static CRPCCommand tables (MarcoFalke)7a2ecf16dfWallet: Change IsMine check in CWallet::DelAddressBook from assert to failure (Luke Dashjr)2952c46b92Wallet: Replace CAddressBookData.name with GetLabel() method (Luke Dashjr)d7092c392eQA: Test that change doesn't turn into non-change when spent in an avoid-reuse wallet (Luke Dashjr)56fe839e4eqt: Fix Window -> Minimize menu item (Hennadii Stepanov)fa2251df5etest: Use one node to avoid a race due to missing sync in rpc_signrawtransaction (MarcoFalke)b5795a7886Wallet: Add warning comments and assert to CWallet::DelAddressBook (Luke Dashjr)6d2905f57aWallet: Avoid unnecessary/redundant m_address_book lookups (Luke Dashjr)c751d886f4Wallet: Avoid treating change-in-the-addressbook as non-change everywhere (Luke Dashjr)8e64b8c84bWallet: New FindAddressBookEntry method to filter out change entries (and skip ->second everywhere) (Luke Dashjr)65b6bdc2b1Wallet: Add CAddressBookData::IsChange which returns true iff label has never been set (Luke Dashjr)144b2f85daWallet: Require usage of new CAddressBookData::setLabel to change label (Luke Dashjr)b86cd155f6scripted-diff: Wallet: Rename mapAddressBook to m_address_book (Luke Dashjr)fa369651c5net: Add missing cs_vNodes lock (MarcoFalke)7b8e15728drpc: Fix rpcRunLater race in walletpassphrase (João Barbosa)b224b4e7bdtest: wallet_bumpfee assertion fixup (Jon Atack)cd3b1569d9Correctly compute redeemScript from witnessScript for signrawtransaction (Andrew Chow)25e03ba1fftest: relax bumpfee dust_to_fee txsize an extra vbyte (Jon Atack)d6815a2313refactor: drop boost::signals2 in validationinterface (Russell Yanofsky)c0c43ae147test: skip backwards compat tests if not compiled with wallet (fanquake)0eeb0468e7net: Hardcoded seeds update for 0.20 (Wladimir J. van der Laan)9e071b0089test: remove rapidcheck integration and tests (fanquake)0ed2d8e07dtest: add BIP37 remote crash bug [CVE-2013-5700] test to p2p_filter.py (Sebastian Falbesoner)691e2a7af7build: create test_fuzz library from src/test/fuzz/fuzz.cpp (Harris)faa64af960fuzz: Add CScriptNum::getint coverage (MarcoFalke)4670006762test: remove redundant sync_with_ping after add_p2p_connection (Jon Atack)fa0189955afuzz: Extend descriptor fuzz test (MarcoFalke)fa86edf66dfuzz: Extend script fuzz test (MarcoFalke)3dc8c012f0test: remaining replacements of (send_message+sync_with_ping) with send_and_ping (Sebastian Falbesoner)facc332dc5fuzz: Avoid running over all inputs after merging them (MarcoFalke)acf269e146tests: Add proof-of-work fuzzing harness (practicalswift)fab32557f2rpc: Make rpc documentation not depend on rpc args (MarcoFalke)f32ab443a9Bugfix: RPC: JSON null is not "None" (Luke Dashjr)26dcf39581Bugfix: RPC: Don't use a continuation elipsis after an elision elipsis (Luke Dashjr)eca65caadcBugfix: RPC: Add missing commas and correct indentation of explicit ELISION (Luke Dashjr)4928a995e9[doc] fix git add argument (Michael Polzer)fad2f68353init: Replace URL_WEBSITE with PACKAGE_URL (MarcoFalke)7b2975ae8fdoc: Update webchat URLs in README.md (Suriyaa Sundararuban)d695eb4c21doc: note the costs of fetching all pull requests (Vasil Dimov)332f373a9d[scripts] previous_release: improve failed download error message (Sebastian Falbesoner)f65c9ad40fCheck for overflow when calculating sum of outputs (Elichai Turkel)fa6e01f2a1doc: block-relay-only is not blocksonly (MarcoFalke)6112a20982test: replace (send_message + sync_with_ping) with send_and_ping (Jon Atack)222253e37dchainparams: Bump assumed valid hash (MarcoFalke)9eefc6e92fgui: Delete progress dialog instead of hidding it (João Barbosa)ee9e88ba27wallet: Handle duplicate fileid exception (João Barbosa)a46484c8b3build: Detect gmtime_* definitions via configure (Ben Woosley)740614e3c3qt: Translations update pre-branch (Wladimir J. van der Laan)faa9491870ci: Use Focal for fuzzers (MarcoFalke)faf1d04731test: Remove redundant sync_with_ping after add_p2p_connection (MarcoFalke)fa90647045test: Wait for both veracks in add_p2p_connection (MarcoFalke)7777703958doc: Explain new test logging (MarcoFalke)fac3716b09test: check that peer is connected when calling sync_* (MarcoFalke)fa3cc0bfc4test: Remove unsafe BOOST_TEST_MESSAGE (MarcoFalke)0055922958test: add BIP37 'filterclear' test to p2p_filter.py (Sebastian Falbesoner)41b0baf43cgui: Handle WalletModel::unload asynchronous (João Barbosa)ab31b9d6feFix wallet unload race condition (Russell Yanofsky)0933a37078gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged (João Barbosa)83e1d92413test: listsinceblock block height checks (Jon Atack)fa15699969test: Add basic test for BIP 37 (MarcoFalke)e980214bc4serialization: prevent int overflow for big Coin::nHeight (pierrenn)11a520f679tests: Add fuzzing harness for functions/classes in random.h (practicalswift)64d277bbbctests: Add fuzzing harness for LimitedString (serialize.h) (practicalswift)f205cf7feftests: Add fuzzing harness for functions/classes in span.h (practicalswift)9718f38f54tests: Add fuzzing harness for functions/classes in merkleblock.h (practicalswift)a16ea051f9tests: Add fuzzing harness for functions/classes in flatfile.h (practicalswift)621e86ee8dUpdate -blocksonly documentation (glowang)6e0d82c55brpc: remove unused getbalances() code (Jon Atack)c34164896cBugfix: RPC: Remove final comma for last entry of fixed-size Arrays and Objects in RPCResult (Luke Dashjr)faaf1cb5b9util: Replace i64tostr with ToString (MarcoFalke)fac96fff62util: Remove unused itostr (MarcoFalke)7142d50ac3scripts: rename test_64bit_PE to test_PE (fanquake)edaca2dd12scripts: add MACHO NX check to security-check.py (fanquake)1a4e9f32efscripts: add MACHO tests to test-security-check.py (fanquake)ff9c671b11refactor: Work around GCC 9 `-Wredundant-move` warning (Russell Yanofsky)b837b334dbnet: Fail instead of truncate command name in CMessageHeader (Wladimir J. van der Laan)dcda81c471test: add coverage for script parse error in ParseScript (pierrenn)faf7d4fa86build: Add cov_fuzz target (MarcoFalke)fac71e364ebuild: link fuzz/test_runner.py for out-of-tree builds (MarcoFalke)faf2c5aca0build: Remove unused USE_COVERAGE (MarcoFalke)ef35604c9crpc: fix broken RPCExamples for waitforblock(height) (Sebastian Falbesoner)9ab14e4d21Limit decimal range of numbers ParseScript accepts (pierrenn)2b0fcff7f2Make VerifyWitnessProgram use a Span stack (Pieter Wuille)7834c3b9ectests: Add fuzzing harness for functions/classes in chain.h (practicalswift)d7930c4326tests: Add fuzzing harness for functions/classes in protocol.h (practicalswift)100213c5c2util: Fail to parse space-only strings in ParseMoney(...) (instead of parsing as zero) (practicalswift)e41e46cee0ci: Remove misplaced comments from folded block scalar (Hennadii Stepanov)c3857c5fcbwallet: remove CreateTotalBumpTransaction() (Jon Atack)4a0b27bb01wallet: remove totalfee from createBumpTransaction() (Jon Atack)e347cfa9a7rpc: remove deprecated totalFee arg from RPC bumpfee (Jon Atack)bd05f96d79test: delete wallet_bumpfee_totalfee_deprecation.py (Jon Atack)a6d1ab8caatest: update bumpfee testing from totalFee to fee_rate (Jon Atack)41ff4992e5script: fix SCRIPT_ERR_SIG_PUSHONLY error string (Sebastian Falbesoner)d831831822lockedpool: When possible, use madvise to avoid including sensitive information in core dumps (Luke Dashjr)25c8b73656ci: Use Homebrew addon on native macOS (Hennadii Stepanov)596c627a1eci: Fix brew in Travis (Hennadii Stepanov)1f97b69ba2build: remove double LIBBITCOIN_SERVER from bench-Makefile (Harris)cd04286825build: Fix typo in EVENT_CFLAGS variable (Hennadii Stepanov)f709ad0c90build: Fix libevent linking for bench_bitcoin binary (Hennadii Stepanov)d056df033aReplace std::to_string with locale-independent alternative (Ben Woosley)fae1e99289ci: Only clone bitcoin-core/qa-assets when fuzzing (MarcoFalke)3e0df92bf2Update with new Windows code signing certificate (Andrew Chow)1a0993ae35scripts: add PE dylib checking to symbol-check.py (fanquake)76db4b260egui: avoid QT Designer/Form Editor re-formatting (Jon Atack)aae26053f9gui: display Mapped AS in peers info window (Jon Atack)e4d366788bbuild: Drop needless EXTRA_DIST content (Hennadii Stepanov)6c4da59f5bbuild: Drop SOURCEDIST reordering (Hennadii Stepanov)5e6b8b3912build: Use git archive as source tarball (Hennadii Stepanov)102f3267e9tests: Add fuzzing harness for classes/functions in blockfilter.h (practicalswift)87d24e67bbtests: Add integer serialization/deserialization fuzzing harness (practicalswift)33dd764984doc: Add fuzzing quickstart guides for libFuzzer and afl-fuzz. Simplify instructions. (practicalswift)4308aa67e3tests: Add fuzzing harness for functions in net_permissions.h (practicalswift)43ff0d91f8tests: Add fuzzing harness for functions in timedata.h (practicalswift)a8695db785tests: Add fuzzing harness for functions in addrdb.h (practicalswift)5aab011805test: add unit test for non-standard "scriptsig-not-pushonly" txs (Sebastian Falbesoner)3dc27a1524doc: Add internal interface conventions to developer notes (Russell Yanofsky)1dca9dc4c7refactor: Change createWallet, fillPSBT argument order (Russell Yanofsky)96dfe5ced6refactor: Change Chain::broadcastTransaction param order (Russell Yanofsky)6ceb21909crefactor: Rename Chain::Notifications methods to be consistent with other interfaces methods (Russell Yanofsky)1c2ab1a6d2refactor: Rename Node::disconnect methods (Russell Yanofsky)77e4b06572refactor: Get rid of Wallet::IsWalletFlagSet method (Russell Yanofsky)7c1ac70c01tests: Don't assume presence of __builtin_mul_overflow in MultiplicationOverflow(...) fuzzing harness (practicalswift)fa92af5af3ci: Run feature_block and feature_abortnode in valgrind (MarcoFalke)fa01febeaftest: Remove ci timeout restriction in test_runner (MarcoFalke)f0dfac7da3test: add executable flag for rpc_estimatefee.py (Sebastian Falbesoner)d18bf0c0b0rpc: add missing HelpExampleRpc for getblockfilter (Sebastian Falbesoner)b492684063doc: Temporary note that release notes should be edited in wiki (Wladimir J. van der Laan)e57980b473[mempool] Remove NotifyEntryAdded and NotifyEntryRemoved callbacks (John Newbery)2dd561f361[validation] Remove pool member from ConnectTrace (John Newbery)969b65f3f5[validation] Remove NotifyEntryRemoved callback from ConnectTrace (John Newbery)5613f9842b[validation] Remove conflictedTxs from PerBlockConnectTrace (John Newbery)cdb893443c[validation interface] Remove vtxConflicted from BlockConnected (John Newbery)1168394d75[wallet] Notify conflicted transactions in TransactionRemovedFromMempool (John Newbery)84a46a9b93doc: mention MAKE=gmake workaround when building on a BSD (emu)e90e3e684fbuild: fix sysctl() detection on macOS (fanquake)a733ad514aAdd bn2vch test to functional tests (Pieter Wuille)a3ad6459b7Simplify bn2vch using int.to_bytes (Pieter Wuille)7d8e1dec3bnet: fix use-after-free in tests (Vasil Dimov)fa3fa27c45fuzz: Remove option --export_coverage from test_runner (MarcoFalke)aaaa055ff7fuzz: Add option to merge input dir to test runner (MarcoFalke)fa4fa88d76doc: Remove --disable-ccache from docs (MarcoFalke)5e47b19e50tests: Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker (practicalswift)5b59a19731Update merkle.cpp (4d55397500)6afaf2f680test: use fs namespace in dbwrapper unicodepath test (fanquake)fa36f3a295refactor: move DUMP_BANS_INTERVAL to banman.h (MarcoFalke)fadafb83cfscheduler: Make schedule* methods type safe (MarcoFalke)fa70ccc6c4scheduler: Use C++11 member initialization, add shutdown assert (MarcoFalke)ec30a79f1cFix UB with bench on genesis block (Gregory Sanders)3ed772d221[tests] remove bignum.py (John Newbery)f950ec2520[tests] remove bn2bin() (John Newbery)3b9b38579c[tests] remove bn_bytes() function (John Newbery)a760aa14a9[tests] remove mpi2vch() function (John Newbery)9a60bef50d[tests] don't encode the integer size in bignum (John Newbery)1dc68aee66[tests] add function comments to bignum (John Newbery)f31fc0e92e[tests] fix flake8 warnings in script.py and bignum.py (John Newbery)44abf417ebtests: Add fuzzing harness for various functions taking std::string as input (practicalswift)d69145acb7tests: Add fuzzing harness for MultiplicationOverflow(...) (practicalswift)7726f3bc46tests: Add fuzzing harness for CFeeRate (practicalswift)0579a27630tests: Add fuzzing harness for CBlockHeader (practicalswift)cb4eec13c0tests: Add fuzzing harness for count_seconds(...) (practicalswift)f9f210d8dedoc: fix GetTimeMicros() comment in random.cpp (fanquake)a889711562rand: remove getentropy() fallback for macOS < 10.12 (fanquake)612a931d1atests: simplify next_block() function in feature_block (John Newbery)7a6627ae87Fix mining to an invalid target + ensure that a new block has the correct hash internally in Python tests (Samer Afach)fac52253f8rpc: Document an RPCResult for all calls; Enforce at compile time (MarcoFalke)fadd99f610rpc: Add missing newline in RPCResult description (MarcoFalke)fa7fea3654refactor: Remove mempool global from net (MarcoFalke)fb15bfd99eFix nit in getblockchaininfo (Steven Roose)7df0cf719fReplace remaining literals BTC with CURRENCY_UNIT (Daniel Kraft)686c5456f2Fix missing header in sync.h (João Barbosa)2a1b85f3c5tx: Bump transifex slug to 020x (Wladimir J. van der Laan)82dd8860bbqt: Periodical translations update (Wladimir J. van der Laan)fa19295250test: Bump timeouts to avoid valgrind failures (MarcoFalke)e6e622e5a0Implement O(1) OP_IF/NOTIF/ELSE/ENDIF logic (Pieter Wuille)d0e8f4d5d8[refactor] interpreter: define interface for vfExec (Anthony Towns)89fb241c54Benchmark script verification with 100 nested IFs (Pieter Wuille)09e25071f4Cache parent xpub inside of BIP32PubkeyProvider (Andrew Chow)deb791c7baOnly cache xpubs that have a hardened last step (Andrew Chow)f76733eda5Cache the immediate derivation parent xpub (Andrew Chow)58f54b686fAdd DescriptorCache* read_cache and DescriptorCache* write_cache to Expand and GetPubKey (Andrew Chow)66c2cadc91Rename BIP32PubkeyProvider.m_extkey to m_root_extkey (Andrew Chow)df55d44d0dTrack the index of the key expression in PubkeyProvider (Andrew Chow)474ea3b927Introduce DescriptorCache struct which caches xpubs (Andrew Chow)c8e24ddce3[REFACTOR] Abstract out script execution out of VerifyWitnessProgram() (Pieter Wuille)a33cffbeabutil: HelpExampleRpc formatting fixup (Jon Atack)faf6f156fftest: Add missing syncwithvalidationinterfacequeue (MarcoFalke)fa2cf85e6ftest: Fix race in p2p_segwit (MarcoFalke)0ae42a16c7guix: Remove now-unnecessary gcc make flag (Carl Dong)fa9b3040e7test: Bump rpc timeout in feature_assumevalid to avoid valgrind timeouts (MarcoFalke)fa72d270adtest: Bump walletpassphrase timeouts in wallet_createwallet to avoid valgrind timeouts (MarcoFalke)bbbbb53dd1fuzz: Add missing ECC_Start to key_io test (MarcoFalke)111880aaf7[test] Add coverage to estimaterawfee and estimatesmartfee (Ben Woosley)8a2a652e6fRemove redundant type information from rpc docs (David O'Callaghan)08eab0f599tests: Add fuzzing of CSubNet, CNetAddr and CService related functions (practicalswift)7a861a62c1tests: Fuzz HasAllDesirableServiceFlags(...) and MayHaveUsefulAddressDB(...) (practicalswift)47a263108btests: Fuzz DecodeBase64PSBT(...) (practicalswift)d3d4892ef4tests: Simplify code by removing unwarranted use of unique_ptr:s (practicalswift)e57e67057atests: Fuzz DecodeHexBlk(...) (practicalswift)117a706fabtests: Fuzz RecursiveDynamicUsage(const std::shared_ptr<X>& p) (practicalswift)81b58a3161tests: Fuzz operator!= of CService (practicalswift)c2c58f6f59tests: Increase fuzzing coverage of DecompressScript(...) (practicalswift)9f8d74a8c7tests: Fuzz currently uncovered code path in TxToUniv(...) (practicalswift)46ef4cfe5ftests: Re-arrange test cases in parse_univalue to increase coverage (practicalswift)516cc6fc78tests: Remove unit test from fuzzing harness (practicalswift)7b169cae20tests: Add deserialization fuzzing of SnapshotMetadata (utxo_snapshot), uint160 and uint256 (practicalswift)3e32499909Change example addresses to bech32 (Yusuf Sahin HAMZA)faae5a9a35test: Add bad-txns-*-toolarge test cases to invalid_txs (MarcoFalke)ddc7e42d60build: Set minimum Automake version to 1.13 (Hennadii Stepanov)fab7d14ea5test: Check that wait_until returns if time point is in the past (MarcoFalke)fa1244783cdoc: Explain rebase/squash policy in CONTRIBUTING.md (MarcoFalke)c1e0742308doc: Warn about wallet.dat re-use and backups (Albert)7ba962276edoc: Minor grammatical changes and flow improvements (Travin Keith)155a11f897doc: Added running functional tests in valgrind (Elichai Turkel)2a6bce482cdoc: Add a note about backporting (Carnhof Daki)ac73afbcbfdoc: asmap release note (Jon Atack)9220a0fdd0tests: Add one specialized ProcessMessage(...) fuzzing binary per message type for optimal results when using coverage-guided fuzzing (practicalswift)fd1dae10b4tests: Add fuzzing harness for ProcessMessage(...) (practicalswift)4444edc2e6ci: Enable all functional tests in valgrind (MarcoFalke)f1b4503114bumpfee test: exit loop at proper time with new fee value being compared (Gregory Sanders)2e4edc68f9Add some test logging to wallet_bumpfee.py (Gregory Sanders)ffff9dcdc3test: Explain why test logging should be used (MarcoFalke)ad345909b2doc: remove Boost Chrono from install docs (fanquake)e21fa542b1test: remove Boost Chrono installation from CI (fanquake)bd37f2bc26build: remove Boost Chrono detection from build system (fanquake)1d0a87e712build: remove chrono package from depends Boost (fanquake)cbf2d75d8fqa: Add getdescriptorinfo functional test (João Barbosa)e37f53648eMake lifetime correctness easier to see (avoid reference lifetime extension) (practicalswift)e7ddbd9893tests: Add fuzzing harness for CScriptNum operations (practicalswift)65a52a0024tests: Add fuzzing harness for CScript operations (practicalswift)eb7c50ca1ftests: Add common Consume* fuzzing functions (practicalswift)d484279a46test: add logging to wallet_listsinceblock.py (Jon Atack)d2774c09cfClear any input_errors for an input after it is signed (Andrew Chow)dc174881adReplace GetSigningProvider with GetSolvingProvider (Andrew Chow)6a9c429084Move direct calls to MessageSign into new SignMessage functions in CWallet and ScriptPubKeyMan (Andrew Chow)82a30fade7Move key and script filling and signing from CWallet::FillPSBT to ScriptPubKeyMan::FillPSBT (Andrew Chow)3d70dd99f9Move FillPSBT to be a member of CWallet (Andrew Chow)a4af324d15Use CWallet::SignTransaction in CreateTransaction and signrawtransactionwithwallet (Andrew Chow)f37de92744Implement CWallet::SignTransaction using ScriptPubKeyMan::SignTransaction (Andrew Chow)d999dd588cAdd SignTransaction function to ScriptPubKeyMan and LegacyScriptPubKeyMan (Andrew Chow)2c52b59d0aRefactor rawtransaction's SignTransaction into generic SignTransaction function (Andrew Chow)46a1ee7732doc: Add historical release notes for 0.19.1 (Wladimir J. van der Laan)6590395f60tests: Remove FUZZERS_MISSING_CORPORA (practicalswift)815c7a6793tests: Add basic fuzzing harness for CNetAddr/CService/CSubNet related functions (netaddress.h) (practicalswift)fab0e5ba7ffuzz: Add assert(script == decompressed_script) (MarcoFalke)bf06641819tests: Reset FUZZERS_MISSING_CORPORA to enable regression fuzzing for more harnesses (practicalswift)a652ba6293rpc/wallet: initialize nFeeRequired to avoid using garbage value on failure (Karl-Johan Alm)52fed696d2tests: Fuzz additional functions in the script fuzzing harness (practicalswift)5fc10f3cb5tests: Fuzz additional functions in the transaction fuzzing harness (practicalswift)1d324ce922tests: Fuzz additional functions in the integer fuzzing harness (practicalswift)4fe4de6364tests: Fuzz additional functions in the hex fuzzing harness (practicalswift)c7ea12d098tests: Add key_io fuzzing harness (practicalswift)0d0bc3b5c1build: Add locale fuzzer to FUZZERS_MISSING_CORPORA (practicalswift)79facb11e9wallet: use constant CWallets in rpcwallet.cpp (Karl-Johan Alm)d9b0ebc1dawallet: make ReserveDestination pwallet ivar const (Karl-Johan Alm)57c569e4d9wallet: make BackupWallet() const (Karl-Johan Alm)df3a818d2awallet: make getters const (Karl-Johan Alm)227b9dd2d6wallet/spkm: make GetOldestKeyPoolTime() const (Karl-Johan Alm)22d329ad0ewallet: use constant CWallets in rpcdump.cpp (Karl-Johan Alm)7b3587b29dwallet/db: make IsDummy() const (Karl-Johan Alm)d366795d18wallet/db: make Backup() const (Karl-Johan Alm)8cd0b86340wallet: make CanGetAddresses() const (Karl-Johan Alm)037fa770ebwallet: make KeypoolCountExternalKeys() const (Karl-Johan Alm)ddc93557adwallet: make CanGenerateKeys() const (Karl-Johan Alm)dc2d0650fdmake BlockUntilSyncedToCurrentChain() const (Karl-Johan Alm)70a6b529f3lint-cppcheck: Remove -DHAVE_WORKING_BOOST_SLEEP_FOR (Anthony Towns)294937b39dscheduler_tests: re-enable mockforward test (Anthony Towns)cea19f6859Drop unused reverselock.h (Anthony Towns)d0ebd93270scheduler: switch from boost to std (Anthony Towns)b9c4260127sync.h: add REVERSE_LOCK (Anthony Towns)306f71b4ebscheduler: don't rely on boost interrupt on shutdown (Anthony Towns)259e290db8tests: Add fuzzing harness for locale independence testing (practicalswift)fae86c38bcutil: Remove unused MilliSleep (MarcoFalke)fa9af06d91scripted-diff: Replace MilliSleep with UninterruptibleSleep (MarcoFalke)fa4620be78util: Add UnintrruptibleSleep (MarcoFalke)f4691b6c21tests: Add fuzzing harness for CKey related functions (practicalswift)9ff41f6419tests: Add float to FUZZERS_MISSING_CORPORA (temporarily) (practicalswift)8f6fb0a85atests: Add serialization/deserialization fuzzing for integral types (practicalswift)3c82b92d2etests: Add fuzzing harness for functions taking floating-point types as input (practicalswift)c2bd588860Add missing includes (practicalswift)7e9c7113afcompressor: Make the domain of CompressAmount(...) explicit (practicalswift)4a7fd7a712tests: Add amount compression/decompression fuzzing to existing fuzzing harness: test compression round-trip (practicalswift)470e2ac602tests: Avoid hitting some known minor tinyformat issues when fuzzing strprintf(...) (practicalswift)353f376277Convert blockencodings.h to new serialization framework (Pieter Wuille)e574fff53eAdd CustomUintFormatter (Pieter Wuille)10633398f2Add DifferenceFormatter (Russell Yanofsky)56dd9f04c7Make VectorFormatter support stateful formatters (Russell Yanofsky)3ca574cef0Convert CCompactSize to proper formatter (Pieter Wuille)1891245e73refactor: Cast ping values to double before output (Ben Woosley)7a810b1d7arefactor: Convert ping wait time from double to int64_t (Ben Woosley)e6fc63ec7erefactor: Convert min ping time from double to int64_t (Ben Woosley)b054c46977refactor: Convert ping time from double to int64_t (Ben Woosley)2455aa5d7f[rpc] changed MineBlocksOnDemand to IsMockableChain (Gloria Zhao)2a95c7c956ci: Check for submodules (Emil Engler)1ba3e1cc21init: move asmap code earlier in init process (Jon Atack)5ba829e12erpc: fix getpeerinfo RPCResult `mapped_as` type (Jon Atack)c90b9a2399net: extract conditional to bool CNetAddr::IsHeNet (Jon Atack)819fb5549blogging: asmap logging and #include fixups (Jon Atack)dcaf543ba0test: add functional test for an empty, unparsable asmap (Jon Atack)b8d0412b21config: separate the asmap finding and parsing checks (Jon Atack)81c38a2497config: enable passing -asmap an absolute file path (Jon Atack)fbe9b024f0config: use default value in -asmap config (Jon Atack)08b992675ctest: add feature_asmap functional tests (Jon Atack)fa6df0de53test: Bump timeouts to accomodate really slow disks (MarcoFalke)fa8b6020ecdoc: Merge release notes for 0.20.0 release (MarcoFalke)fa6b061fc1rpc: Auto-format RPCResult (MarcoFalke)fa7d0503d3rpc: Move OuterType enum to header (MarcoFalke)9b0e16226edoc: Correct spelling errors in comments (Ben Woosley)aff2748f8ahttpserver: use own HTTP status codes (Filip Gospodinov)1ef28b4f7cMake AnalyzePSBT next role calculation simple, correct (Gregory Sanders)10efc0487cTemplatize ValidationState instead of subclassing (Jeffrey Czyz)10e85d4adcRemove ValidationState's constructor (Jeffrey Czyz)0aed17ef28Refactor FormatStateMessage into ValidationState (Jeffrey Czyz)d36146009fDrop unused mach time headers (Ben Woosley)8888461f68util: Fail to parse empty string in ParseMoney (MarcoFalke)fab30b61ebutil: Remove unused ParseMoney that takes a c_str (MarcoFalke)16d6113f4fRefactor message transport packaging (Jonas Schnelli)dc9305b616random: don't special case clock usage on macOS (fanquake)7bf4ce4f64refactor: test/bench: dedup SetupDummyInputs() (Sebastian Falbesoner)54be4e71d8test: check specific reject reasons in feature_csv_activation.py (Sebastian Falbesoner)3d9b41ecc0build: add --enable-determinism configure flag (fanquake)c72a11a1a0test: Add cost_of_change parameter assertions to bnb_search_test (Yancy Ribbens)5ffaf883b9test: eliminiated magic numbers in feature_csv_activation.py (Sebastian Falbesoner)09f706ab8etest: check for OP_CSV empty stack fail reject reason in feature_csv_activation.py (Sebastian Falbesoner)cbd345a75ctest: test OP_CSV empty stack fail in feature_csv_activation.py (Sebastian Falbesoner)fa45d60646test: Reduce unneeded whitelist permissions in tests (MarcoFalke)7644567758Add missing step in win deployment instructions (Dan Gershony)b902bd66b0test: check custom descendant limit in mempool_packages.py (Sebastian Falbesoner)2f63ffd15ctests: Add fuzzing harness for V1TransportDeserializer (P2P transport) (practicalswift)fab2527515test: Disable mockforward scheduler unit test for now (MarcoFalke)0653939ac1Add static_asserts to ser_X_to_Y() methods (Samer Afach)be94096dfbFix a violation of C++ standard rules that unions cannot be switched. (Samer Afach)facb71576cnet: Remove forcerelay of rejected txs (MarcoFalke)eabbbe409ftests: Add fuzzing harness for rolling bloom filter class CRollingBloomFilter (practicalswift)2a6a6ea0f5tests: Add fuzzing harness for bloom filter class CBloomFilter (practicalswift)5bad7921d0[test] PSBT RPC: check that bip32_derivs are present by default (Sjors Provoost)29a21c9061[rpc] set default bip32derivs to true for psbt methods (Sjors Provoost)e193a84fb2Refactor message hashing into a utility function (Jeffrey Czyz)f8f0d9893dDeduplicate the message signing code (Vasil Dimov)2ce3447eb1Deduplicate the message verifying code (Vasil Dimov)12a2f37718util: Avoid potential uninitialized read in FormatISO8601DateTime(int64_t nTime) by checking gmtime_s/gmtime_r return value (practicalswift)bca8665d08scripted-diff: Wallet: Rename incorrectly named *UsedDestination (Luke Dashjr)faca8eff39test: Remove incorrect assumptions in validation_flush_tests (MarcoFalke)fa31eebfe9test: Tabs to spaces in all tests (MarcoFalke)fac52dafa0test: Set catch_system_errors=no on boost unit tests (MarcoFalke)7e80f646b2Get the OutputType for a descriptor (Andrew Chow)d6d2602a32add: test that transactions expire from mempool (0xb10c)63ce882760doc: link to homebrew's troubleshooting page (Gastón I. Silva)7f1475c711rpc: update validateaddress RPCExamples to bech32 (Sebastian Falbesoner)f2472f6460tests: Improve test runner output in case of target errors (practicalswift)733bbec34ftests: Add --exclude integer,parse_iso8601 (temporarily) to make Travis pass until uninitialized read issue in FormatISO8601DateTime is fixed (practicalswift)5ea81449f3tests: Add support for excluding fuzz targets using -x/--exclude (practicalswift)555236f769tests: Remove -detect_leaks=0 from test/fuzz/test_runner.py - no longer needed (practicalswift)a3b539a924ci: Run fuzz testing test cases under valgrind (practicalswift)a304a3632fRevert "Store p2sh scripts in AddAndGetDestinationForScript" (Russell Yanofsky)eb7d8a5b07[test] check for addmultisigaddress regression (Sjors Provoost)005f8a92ccwallet: Improve LegacyScriptPubKeyMan::CanProvide script recognition (Russell Yanofsky)8bca30ea17[rpc] expose ability to mock scheduler via the rpc (Amiti Uttarwar)7c8b6e5b52[lib] add scheduler to node context (Amiti Uttarwar)930d837542[test] add chainparams property to indicate chain allows time mocking (Amiti Uttarwar)1cd43e83c6[test] unit test for new MockForward scheduler method (Amiti Uttarwar)a6f63598ad[util] allow scheduler to be mocked (Amiti Uttarwar)530d02addbbuild: pass -fno-ident in Windows gitian descriptor (fanquake)4e9efac678test: Check wallet name in -walletnotify script (João Barbosa)9a5b5ee81fwallet: Replace %w by wallet name in -walletnotify script (João Barbosa)fad027fb0cscripted-diff: Add missing spaces in RPCResult, Fix type names (MarcoFalke)1b068c50ddtests: Add --valgrind option to test/fuzz/test_runner.py for running fuzzing test cases under valgrind (practicalswift)c98c26ee99ci: use --enable-werror on more hosts (Sjors Provoost)6ba617dbe2build: add Wreturn-type to Werror flags (Sjors Provoost)dcb7af053dIgnore only auto-generated .vcxproj files (Hennadii Stepanov)79c811ca2bSpecify ignored bitcoin-qt file precisely (Hennadii Stepanov)25bc17fcebrefactor: rpc: Remove vector copy from listtransactions (João Barbosa)c9fe61291egui: Throttle GUI update pace when -reindex (Hennadii Stepanov)bf36a3ccc2gui: Fix race in WalletModel::pollBalanceChanged (Russell Yanofsky)5f26855f10test: Remove ubsan alignment suppressions (Wladimir J. van der Laan)9d933ef919prevector: avoid misaligned member accesses (Anthony Towns)53234fd0c7doc: remove PPA note from release-process.md (fanquake)c456145b2c[test] add 0.19 backwards compatibility tests (Sjors Provoost)b769cd142d[test] add v0.17.1 wallet upgrade test (Sjors Provoost)9d9390dab7[tests] add wallet backwards compatility tests (Sjors Provoost)c7ca630896[scripts] support release candidates of earlier releases (Sjors Provoost)8b1460dbd1[tests] check v0.17.1 and v0.18.1 backwards compatibility (Sjors Provoost)ae379cf7d1[scripts] build earlier releases (Sjors Provoost)cb9e88e73abuild: don't embed a build-id when building libdmg-hfsplus (fanquake)fae9084ac5build: Skip i686 build by default in guix and gitian (MarcoFalke)fa55a2554cdepends: Remove reference to win32 (MarcoFalke)0e0fa27acbGet rid of VARINT default argument (Pieter Wuille)0e519fe284build: Fix behavior when ALLOW_HOST_PACKAGES unset (Hennadii Stepanov)4537ba5f21test: add unit test for non-standard txs with too large tx size (Sebastian Falbesoner)3c94b0039dConvert undo.h to new serialization framework (Pieter Wuille)3cd8ab9d11Make std::vector and prevector reuse the VectorFormatter logic (Pieter Wuille)abf8624356Add custom vector-element formatter (Pieter Wuille)37d800bea0Add a constant for the maximum vector allocation (5 Mbyte) (Pieter Wuille)9e111db088test: set a name for CI Docker containers (fanquake)b0a01299edtest: Disable s390 build on travis (Wladimir J. van der Laan)97aa5740c0Squashed 'src/univalue/' changes from 5a58a46671..98261b1e7b (MarcoFalke)ac57859e53qt: Fix deprecated QCharRef usage (Hennadii Stepanov)2af3e16ca9Qt: pass clientmodel changes from walletframe to walletviews (Jonas Schnelli)d76894987dlogging: enable thread_local usage on macOS (fanquake)677fb8e923test: Add ubsan surpression for crc32c (Wladimir J. van der Laan)8e68bb1ddebuild: Disable msvc warning 4722 for leveldb build (Aaron Clauson)be23949765build: MSVC changes for leveldb update (Aaron Clauson)9ebdf04757build: CRC32C build system integration (Wladimir J. van der Laan)402252a808build: Add LCOV exception for crc32c (Wladimir J. van der Laan)3a037d0067test: Add crc32c exception to various linters and generation scripts (Wladimir J. van der Laan)84ff1b2076test: Add crc32c to subtree check linter (Wladimir J. van der Laan)7cf13a5134doc: Add crc32c subtree to developer notes (Wladimir J. van der Laan)24d02a9ac0build: Update build system for new leveldb (Wladimir J. van der Laan)2e1819311aSquashed 'src/crc32c/' content from commit 224988680f7673cd7c769963d4035cb315aa3388 (Wladimir J. van der Laan)66480821b3Squashed 'src/leveldb/' changes from f545dfabff4c2e9836efed094dba99a34fbc6b88..f8ae182c1e5176d12e816fb2217ae33a5472fdd7 (Wladimir J. van der Laan)19a354b11fOutput a descriptor in createmultisig and addmultisigaddress (Andrew Chow)acf8abc7f3gui: Fix unintialized WalletView::progressDialog (João Barbosa)acd644b83dbuild: remove --large-address-aware linker flag (fanquake)900d8f6f70util: Disallow network-qualified command line options (Russell Yanofsky)fa5c6622c8doc: Use proper RPC help syntax in importmulti (MarcoFalke)fab63111bedoc: Remove duplicate "comment" from listsinceblock RPC help (MarcoFalke)fa04cd6cfcdoc: Properly document proxy_randomize_credentials as bool in getnetworkinfo (MarcoFalke)fa9dec7c39doc: Fix syntax error (trailing square bracket) in finalizepsbt (MarcoFalke)faff5a60eddoc: Fix syntax error (trailing square bracket) in walletprocesspsbt (MarcoFalke)fa0545901ddoc: Add missing "optional" to "long" estimaterawfee RPC help (MarcoFalke)e9434ee03eRemove false positive GCC warning (Hennadii Stepanov)7e2104433cbuild: use macOS 10.14 SDK (fanquake)ca5055a5aadepends: native_cctools 921, ld64 409.12, libtapi 1000.10.8 (fanquake)1de8c067c7depends: clang 6.0.1 (fanquake)c0bc453135build: remove deprecated key from macOS Info.plist (fanquake)c86bc14408Make asmap Interpret tolerant of malicious map data (Pieter Wuille)38c2395d7aUse ASNs for mapped IPv4 addresses correctly (Pieter Wuille)6f8c937312Mark asmap const in statistics code (Pieter Wuille)d58bcdc4b5Avoid asmap copies in initialization (Pieter Wuille)eca56f8929test: replace 'regtest' leftovers by self.chain (Sebastian Falbesoner)4d2aceaad8tests: Add fuzzer asmap to FUZZERS_MISSING_CORPORA (temporarily) (practicalswift)8d07706985tests: Add fuzzing harness for AS-mapping (asmap) (practicalswift)6c22315223build: add additional attributes to Win installer (fanquake)317fb96de9Add search for first blk file with pruned node (Rjected)1abcecc40cTests: Use self.chain instead of 'regtest' in almost all current tests (Jorge Timón)ff59bcd321gui: Drop PeerTableModel dependency to ClientModel (João Barbosa)0a50019fdeWalk pindexBestHeader back to ChainActive().Tip() if it is invalid (Matt Corallo)bd5a026928Make UpdateTransactionsFromBlock use Epochs (Jeremy Rubin)2ccb7cca4aAdd Epoch Guards to CTXMemPoolEntry and CTxMemPool (Jeremy Rubin)9a299a59ccnet: reference instead of copy in BlockConnected range loop (Jon Atack)d3bc184081doc: update release notes with getaddressinfo label deprecation (Jon Atack)72af93f364test: getaddressinfo label deprecation test (Jon Atack)d48875fa20rpc: deprecate getaddressinfo label field (Jon Atack)dc0cabeda4test: remove getaddressinfo label tests (Jon Atack)c7654af6f8doc: address pr17578 review feedback (Jon Atack)cb8a86d9f9gui: Remove WalletView and BitcoinGUI circular dependency (João Barbosa)ac3d10777dgui: Add transactionClicked and coinsSent signals to WalletView (João Barbosa)3aee10b80bgui: Drop ShutdownWindow dependency to BitcoinGUI (João Barbosa)61eb058cc1gui: Drop BanTableModel dependency to ClientModel (João Barbosa)a029e18c2bUse rolling bloom filter of recent block tx's for AlreadyHave() check (Suhas Daftuar)c7ec9a1888Add missing supported rpcs to doc/descriptors.md (Andrew Toth)085423b978Remove GitHub Actions CI workflow. (Aaron Clauson)b951b0973con startup, write config options to debug.log (Larry Ruane)aaaae4d0ebtest: Add p2p test for forcerelay permission (MarcoFalke)fa6b57bcaatest: Fix whitespace in p2p_permissions.py (MarcoFalke)faf40810d7test: Make msg_tx a witness tx (MarcoFalke)cc668d06fbtests: Add fuzzing harness for strprintf(...) (practicalswift)ccc3c76e2btests: Add fuzzer strprintf to FUZZERS_MISSING_CORPORA (temporarily) (practicalswift)6ef04912aftests: Update FuzzedDataProvider.h from upstream (LLVM) (practicalswift)1b96a3cd1etests: reset fIsBareMultisigStd after bare-multisig tests (fanquake)1115ba693bpsbt_wallet_tests: use unique_ptr for GetSigningProvider (Anthony Towns)3f373659d7Refactor: Replace SigningProvider pointers with unique_ptrs (Andrew Chow)3afe53c403Cleanup: Drop unused GUI learnRelatedScripts method (Andrew Chow)e2f02aa59eRefactor: Copy CWallet signals and print function to LegacyScriptPubKeyMan (Andrew Chow)c729afd0a3Box the wallet: Add multiple keyman maps and loops (Andrew Chow)4977c30d59refactor: define a UINT256_ONE global constant (Andrew Chow)415afcccd3HD Split: Avoid redundant upgrades (Andrew Chow)01b4511206Make UpgradeKeyMetadata work only on LegacyScriptPubKeyMan (Andrew Chow)4a7e43e846Store p2sh scripts in AddAndGetDestinationForScript (Andrew Chow)501acb5538Always try to sign for all pubkeys in multisig (Andrew Chow)81610eddbcList output types in an array in order to be iterated over (Andrew Chow)eb81fc3ee5Refactor: Allow LegacyScriptPubKeyMan to be null (Andrew Chow)fadc08ad94Locking: Lock cs_KeyStore instead of cs_wallet in legacy keyman (Andrew Chow)f5be479694wallet: Improve CWallet:MarkDestinationsDirty (João Barbosa)fa1a46e7f4build: Fix appveyor test_bitcoin build of *.raw (MarcoFalke)f41d589669Document better -keypool as a look-ahead safety mechanism (Antoine Riard)4de934b9b5Convert compression.h to new serialization framework (Pieter Wuille)ca34c5cba5Add FORMATTER_METHODS, similar to SERIALIZE_METHODS, but for formatters (Pieter Wuille)b6c3e84e87doc: Improve fuzzing docs for macOS users (Fabian Jahr)3c1bc40205Add extra logging of asmap use and bucketing (Gleb Naumenko)e4658aa8eaReturn mapped AS in RPC call getpeerinfo (Gleb Naumenko)ec45646de9Integrate ASN bucketing in Addrman and add tests (Gleb Naumenko)8feb4e4b66Add asmap utility which queries a mapping (Gleb Naumenko)b35567fe0btest: only declare a main() when fuzzing with AFL (fanquake)e80317be5frefactor: Remove redundant conditional (Bushstar)deaa6dd144psbt: check output index is within bounds before accessing (Andrew Chow)f1ef7f0aa4Don't calculate tx fees for PSBTs with invalid money values (Andrew Chow)0dae5a5c34Fix benchmarks filters (Elichai Turkel)b3c4d9bac6test: rename test suite name "tx_validationcache_tests" to match filename (Sebastian Falbesoner)88c83636d5guix: Update documentation for time-machine (Carl Dong)e6050884fdguix: Pin Guix using `guix time-machine` (Carl Dong)4f7127d1e3gui: Make Intro consistent with prune checkbox (Hennadii Stepanov)4824a7d36cgui: Add Intro::UpdateFreeSpaceLabel() (Hennadii Stepanov)daa3f3fa90refactor: Add Intro::UpdatePruneLabels() (Hennadii Stepanov)e4caa82a03refactor: Replace static variable with data member (Hennadii Stepanov)2bede28cd9util: Add PruneGBtoMiB() function (Hennadii Stepanov)e35e4b2ba0util: Add PruneMiBtoGB() function (Hennadii Stepanov)4c524f0aadBugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open (Luke Dashjr)44f15cfdcfgui: renamed 'debug window' to 'node window' (Zero)1a638e1105gui: Shortcut to close ModalOverlay (Emil Engler)2bcc70531aUpdated appveyor job to checkout a specific vcpkg commit ID. (Aaron Clauson)2d23082cbebump test timeouts so that functional tests run in valgrind (Micky Yun Chan)2525c096b0build: remove configure checks for win libraries we don't link against (fanquake)2fa8dc5454src/init: correct a typo (darosior)f7453dcc03build: remove linking librt for backwards compatibility (fanquake)fa569e1a9cci: Set LC_ALL=C when running in qemu-s390x (MarcoFalke)fa3d77623eci: Use debian to avoid apt install 404 errors (MarcoFalke)fabb946090ci: Install needed gcc and qemu-user iff cross-compiling (MarcoFalke)faba4672b6ci: Fix QEMU_USER_CMD parse issues (MarcoFalke)fa5d709fb2ci: Move wrap-qemu into separate script (MarcoFalke)c491368d8cscripts: add MACHO dylib checking to symbol-check.py (fanquake)76bf97213fscripts: fix check-symbols & check-security argument passing (fanquake)7a046cdc14tests: Avoid using C-style NUL-terminated strings as arguments (practicalswift)fefb9165f2tests: Add tests to make sure lookup methods fail on std::string parameters with embedded NUL characters (practicalswift)9574de86adnet: Avoid using C-style NUL-terminated strings as arguments in the netbase interface (practicalswift)75163f4729bug-fix macos: give free bytes to F_PREALLOCATE (Karl-Johan Alm)70e4706093Revert "refactor: Remove never used default parameter" (Hennadii Stepanov)219417b388Revert "refactor: Simplify connection syntax" (Hennadii Stepanov)fae75306bascripted-diff: Set gitian arch back to amd64 (MarcoFalke)9dd58ca611init: Stop indexes on shutdown after ChainStateFlushed callback. (Jim Posen)a5a2654bbctest: add missing #include to fix compiler errors (Karl-Johan Alm)3c30d7118aQT: Change bumpFee asserts to simple error message (Gregory Sanders)e3b19d8696QT: bump fee returns PSBT on clipboard for watchonly-only wallets (Gregory Sanders)3d5d7aad26windows: remove call to SetProcessDEPPolicy (fanquake)f2645c2601windows: Enable heap terminate-on-corruption (fanquake)3f95fb085ebuild: Sort fuzzing harnesses to avoid future merge conflicts (practicalswift)bcad0144eftests: Add fuzzing harness for DecodeHexTx(...) (practicalswift)297e098557Fix doxygen errors (Ben Woosley)e1c582cbaacontrib: makeseeds: Read suspicious hosts from a file instead of hardcoding (Sanjay K)9b66083788Convert chain to new serialization (Pieter Wuille)2f1b2f4ed0Convert VARINT to the formatter/Using approach (Pieter Wuille)ca62563df3Add a generic approach for (de)serialization of objects using code in other classes (Pieter Wuille)1a53b0da60refactor: Simplify connection syntax (Hennadii Stepanov)7d0a8f4f53refactor: Remove never used default parameter (Hennadii Stepanov)c279a81e9cgui: Remove warning "unused variable 'wallet_model'" (João Barbosa)22c5a986e9depends: Consistent use of package variable (Peter Bushnell)2b1641492fwallet: Improve CWallet:MarkDestinationsDirty (João Barbosa)fac86ac7b3scripted-diff: Add missed copyright headers (Hennadii Stepanov)6fde9d5e47script: Update EXLUDE list in copyright_header.py (Hennadii Stepanov)1998152f15script: Add empty line after C++ copyright (Hennadii Stepanov)071f2fc204script: Add ability to insert copyright to *.sh (Hennadii Stepanov)ef63f5fc11ci: Combine 32-bit build with CentOS 7 build (Sebastian Falbesoner)1be0b1fb2atest: add functional test for non-standard bare multisig txs (Sebastian Falbesoner)42ec499489doc: developer notes guideline on RPCExamples addresses (Jon Atack)6dd59d2e49Don't allow implementers to think ScriptHash(Witness*()) results in nesting computation (Gregory Sanders)4b8f1e989fIsUsedDestination shouldn't use key id as script id for ScriptHash (Gregory Sanders)486f51099fgui: hide HD & encryption icons when no wallet loaded (Harris)f117fb00daReplace coroutine with async def in p2p_invalid_messages.py (Elichai Turkel)6fc554f591wallet: Reset reused transactions cache (Fabian Jahr)5855cc564fbitcoin-wallet: Use PACKAGE_NAME in usage help (Luke Dashjr)7f5db163a4GUI: Use PACKAGE_NAME in modal overlay (Luke Dashjr)e09c701e01scripted-diff: Bump copyright of files changed in 2020 (MarcoFalke)6cbe620964scripted-diff: Replace CCriticalSection with RecursiveMutex (MarcoFalke)c902c4c0c6doc: Add to Doxygen documentation guidelines (Jon Layton)8313fa8e81gui: Set CConnman byte counters earlier to avoid uninitialized reads (Russell Yanofsky)02b9511d6btests: add tests for GetCoinsCacheSizeState (James O'Beirne)b17e91d842refactoring: introduce CChainState::GetCoinsCacheSizeState (James O'Beirne)831e1220bcbuild: remove double LIBBITCOIN_SERVER linking (fanquake)498cdbb426Fix improper Doxygen inline comments (Ben Woosley)8b2f471a1bqa: Fix double-negative arg test (Hennadii Stepanov)0874a109daIgnore msvc linker warning and update to msvc build instructions. (Aaron Clauson)f9abf4ab6dAdd logging for CValidationInterface events (Jeffrey Czyz)6edebacb21Refactor FormatStateMessage for clarity (Jeffrey Czyz)72f3227c83Format CValidationState properly in all cases (Jeffrey Czyz)428ac70095Add VALIDATION to BCLog::LogFlags (Jeffrey Czyz)6d6a7a8403gui: Fix duplicate wallet showing up (João Barbosa)81ea66c30eDrop signal CClientUIInterface::LoadWallet (Russell Yanofsky)3e730bf90azmq: Fix due to invalid argument and multiple notifiers (João Barbosa)af112ab628qt: Rename SetPrune() to InitializePruneSetting() (Hennadii Stepanov)b0bfbe5028refactor: Drop `bool force' parameter (Hennadii Stepanov)68c9bbe9bcqt: Force set nPruneSize in QSettings after intro (Hennadii Stepanov)a82bd8fa57util: Replace magics with DEFAULT_PRUNE_TARGET_GB (Hennadii Stepanov)fa37e0a68btest: Show debug log on unit test failure (MarcoFalke)b0a254019cbuild: add Wdate-time to Werror flags (fanquake)a004673c54qt: Add LogQtInfo() function (Hennadii Stepanov)63bf06afc3Restore English translation option (Andrew Chow)77ef48d532gitignore: ignore fuzz binaries, remove test_bitcoin_fuzzy (Jon Atack)e1e1442f3eActivate no-privkey -> ISMINE_WATCH_ONLY behavior for LegacySPKM only (Gregory Sanders)8925df86c4doc: update release notes (Jon Atack)8bb405bbadtest: getaddressinfo labels purpose deprecation test (Jon Atack)60aba1f2f1rpc: simplify getaddressinfo labels, deprecate previous behavior (Jon Atack)7851f14ccfrpc: incorporate review feedback from PR 17283 (Jon Atack)091a876664Test watchonly wallet bumpfee with PSBT return (Gregory Sanders)e9b4f9419cbumpfee: Return PSBT when wallet has privkeys disabled (Gregory Sanders)75a5e478b6Change bumpfee to use watch-only funds for legacy watchonly wallets (Gregory Sanders)09502452bbIsUsedDestination should count any known single-key address (Gregory Sanders)71af793512scripts: fix check-symbols & check-security argument passing (fanquake)582e66b6e7doc: Added regtest config for linearize script (Gr0kchain)7754d7ab1erefactor: Remove unused defines in bitcoinunits.h (Hennadii Stepanov)9250a087d2Convert addrdb/addrman to new serialization (Pieter Wuille)ca33451535Introduce new serialization macros without casts (Pieter Wuille)0661a3c4a6build: Add default configure cache to .gitignore (Hennadii Stepanov)19267cbc82doc: Add ci prefix to CONTRIBUTING.md (Hennadii Stepanov)1f0adb3dactests: Add std::to_string to list of locale dependent functions (practicalswift)faa92a2297rpc: Remove mempool global from miner (MarcoFalke)6666ef13f1test: Properly document blockinfo size in miner_tests (MarcoFalke)4bdd68f301Add missing typeinfo includes (Wladimir J. van der Laan)4d88c3dcb6net: Log to net category for exceptions in ProcessMessages (Wladimir J. van der Laan)87744b16b0ci: Fix brew python link (Hennadii Stepanov)3bd8db80d8[validation] fix comments in CheckInputScripts() (John Newbery)6f6465cefcscripted-diff: [validation] Rename CheckInputs to CheckInputScripts (John Newbery)7c9e821c4escripts: add MACHO NOUNDEFS check to security-check.py (fanquake)4ca92dc6d3scripts: add MACHO PIE check to security-check.py (fanquake)df97e59207doc: Update dependencies.md (Hennadii Stepanov)aaaaad6ac9scripted-diff: Bump copyright of files changed in 2019 (MarcoFalke)592af5ad3aMoved the include of the system projects to before the build depends on task. Otherwise it doesn't get run. (Aaron Clauson)6e2215187eIncluded test_bitcoin-qt in msvc build. (Aaron Clauson)8dc9aa90c3doc: Update license year range to 2020 (Emil Engler)90df92206ctest: Change filemode of rpc_whitelist.py (Emil Engler)0b5a366bd7ci: Update vcpkg cache on MSBuild update (Hennadii Stepanov)b6fa752bc7ci: Update Qt binaries for GitHub Actions (Hennadii Stepanov)6094222de7use preferred shebang approach for documentation (hackerrdave)e9fd366044refactor: Remove null setting check in GetSetting() (Russell Yanofsky)cba2710220scripted-diff: Remove unused ArgsManager type flags in tests (Russell Yanofsky)425bb30725refactor: Add util_CheckValue test (Russell Yanofsky)0fa54358b0refactor: Add ArgsManager::GetSettingsList method (Russell Yanofsky)3e185522acrefactor: Get rid of ArgsManagerHelper class (Russell Yanofsky)dc0f148074refactor: Replace FlagsOfKnownArg with GetArgFlags (Russell Yanofsky)57e8b7a727refactor: Clean up includeconf comments (Russell Yanofsky)3f7dc9b808refactor: Clean up long lines in settings code (Russell Yanofsky)34d826ea5fdoc: Mention PR Club in CONTRIBUTING.md (Emil Engler)4f4ae6f97ebuild: set AC_PREREQ to 2.69 (fanquake)faede70882doc: Add formatting to the good first issue template (MarcoFalke)c78b123982build: add -bind_at_load to hardened LDFLAGS (fanquake)abc147de95build: remove WINDOWS_BITS from build system (fanquake)6e77a7b65ckeypool: Add comment about TopUp and when to use it (Andrew Chow)ea50e34b28keypool: Move opportunistic TopUps from LegacyScriptPubKeyMan to CWallet and ReserveDestination (Andrew Chow)bb2c8ce23ckeypool: Remove superfluous topup from CWallet::GetNewChangeDestination (Andrew Chow)facb416ad5ci: Add valgrind run (MarcoFalke)e190000869ci-s390x: Add qemu and depends support in the ci script (Elichai Turkel)529d332fbftest: add IsRFC2544 tests (Mark Tyneway)419ef3b7ccCNetAddr: fix IsRFC2544 comment (Mark Tyneway)c18405732etests: Add fuzzing harness for various hex related functions (practicalswift)526dd78bedtests: Add fuzzing harness for various Base{32,58,64} related functions (practicalswift)32e27129ffutil: Move TrimString(...). Introduce default pattern (trims whitespace). Add NODISCARD. (practicalswift)22d9bae36ftests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)78e283e656[test] move wallet helper functions into test library (Martin Zumsande)f613e5dfda[test] move mining helper functions into test library (Martin Zumsande)2cb4e8bdc7[test] move string helper functions into test library (Martin Zumsande)7aab8d1024[style] Code style fixups in GetWarnings() (John Newbery)492c6dc1e7util: change GetWarnings parameter to bool (John Newbery)869b6314fd[qt] remove unused parameter from getWarnings() (John Newbery)fa8e650b52rest: Use mempool from node context instead of global (MarcoFalke)fa660d65d7node: Use mempool from node context instead of global (MarcoFalke)facbaf092frpc: Use mempool from node context instead of global (MarcoFalke)a5089f62bdfix directory path for secp256k1 subtree in developer-notes (hackerrdave)893aa207e8tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions (practicalswift)ec8dcb0199tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)137c80d579tests: Add tests for decoding/parsing of base32, base64 and money strings containing NUL characters (practicalswift)a6fc26da55util: Don't allow DecodeBase32(...) of strings with embedded NUL characters (practicalswift)93cc18b0f6util: Don't allow DecodeBase64(...) of strings with embedded NUL characters (practicalswift)ccc53e43c5util: Don't allow ParseMoney(...) of strings with embedded NUL characters (practicalswift)244501fc85depends: disable unused qt networking features (fanquake)29d56c62b7depends: -optimized-qmake is now -optimized-tools (fanquake)ccdda96804depends: skip building qt proxies (fanquake)7965e0b41adoc: Add release note for RPC Whitelist (Emil Engler)7d263571berpc: require second argument only for scantxoutset start action (Andrew Chow)a64e97dd47wallet: unbreak with boost 1.72 (Jan Beich)2081442c42test: Add test for rpc_whitelist (Emil Engler)7414d3820cAdd RPC Whitelist Feature from #12248 (Jeremy Rubin)d945c6f5e6util: Don't allow base58-decoding of std::string:s containing non-base58 characters (practicalswift)ff7a999226tests: Add tests for base58-decoding of std::string:s containing non-base58 characters (practicalswift)d94d34f05fdoc: update developer notes wrt unix epoch time (Jon Atack)e2f32cb5c5qa: unify unix epoch time descriptions (Jon Atack)75d9317bc1Update msvc build for Visual Studio 2019 v16.4 (Aaron Clauson)5096baf26bbuild: fix typo (Harris)034561f9cdcli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice (Harris)fab2f351f2doc: Update release process with latest changes (MarcoFalke)fabd5b444eci: Use python 3.7 on Windows Github Actions (MarcoFalke)7cecf10ac3Replace LegacyScriptPubKeyMan::IsCrypted with LegacyScriptPubKeyMan::HasEncryptionKeys (Andrew Chow)bf6417142fRemove SetCrypted() and fUseCrypto; Change IsCrypted()'s implementation (Andrew Chow)77a777118eRename EncryptKeys to Encrypt and pass in the encrypted batch to use (Andrew Chow)35f962fcf0Clear mapKeys before encrypting (Andrew Chow)14b5efd66fMove fDecryptionThoroughlyChecked from CWallet to LegacyScriptPubKeyMan (Andrew Chow)97c0374a46Move Unlock implementation to LegacyScriptPubKeyMan (Andrew Chow)e576b135d6Replace LegacyScriptPubKeyMan::vMasterKey with GetDecryptionKey() (Andrew Chow)fd9d6eebc1Add GetEncryptionKey() and HasEncryptionKeys() to WalletStorage (Andrew Chow)5909bcd3bfAdd bounds checks in key_io before DecodeBase58Check (Pieter Wuille)2bcf1fc444Pass a maximum output length to DecodeBase58 and DecodeBase58Check (Pieter Wuille)b6f9e3576atest: re-enable CLI test support by using EncodeDecimal in json.dumps() (fanquake)4341bffb6eGUI: Refactor formatServicesStr to warn when a ServicesFlag is missing (Luke Dashjr)df77de8c21Bugfix: GUI: Recognise NETWORK_LIMITED in formatServicesStr (Luke Dashjr)a1308b7e12tests: Add fuzzing harnesses for various JSON/univalue parsing functions (practicalswift)e3d2bcf5cftests: Add fuzzing harnesses for various number parsing functions (practicalswift)fb8c12093atests: Add ParseScript(...) (core_io) fuzzing harness (practicalswift)074cb6451btests: Add ParseHDKeypath(...) (bip32) fuzzing harness (practicalswift)0dc5907d0ftests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)fa4b656e97doc: Add release notes for 17447 (MarcoFalke)7e8b4de059rpc: add missing newline in analyzepsbt rpcresult (Jon Atack)b0b1531737Adds GitHub Action workflow which duplicates AppVeyor job. (Aaron Clauson)e97f5c1823depends: don't configure xcb_proto (fanquake)5db506ba59tests: Add option --valgrind to run nodes under valgrind in the functional tests (practicalswift)3ab1824625build: Use dnl for all comments in configure.ac, rather than # (fanquake)8ddcbb4e41build: Remove backticks from configure.ac (fanquake)5ad4dd1ea1doc: Changed MiniUPnPc link to https in dependencies.md (Marius Kjærstad)1bb5d517aatest: add unit test for non-standard bare multisig txs (Sebastian Falbesoner)773d4572a4Mark PSBTs spending unspendable outputs as invalid in analysis (Andrew Chow)638e40cb60Have a PSBTAnalysis state that indicates invalid PSBT (Andrew Chow)597d10ceb9tests: Add fuzzing harness for various functions consuming only integrals (practicalswift)575383b3e1tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)d5766f223ftests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)e75ecb91c7tests: Add fuzzing harness for various CTxOut related functions (practicalswift)ce935292c0tests: Add fuzzing harness for various CTxIn related functions (practicalswift)709afb2a7dtests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition. (practicalswift)978b25528cutil: Update tinyformat to upstream (Wladimir J. van der Laan)5ac804a9ebtests: Use a default of supports_cli=True (instead of supports_cli=False) (practicalswift)993e38a4e2tests: Mark functional tests not supporting bitcoin-cli (--usecli) as such (practicalswift)a652dc5521qt: Normalize placeholder to avoid using "address book" in sendcoinsentry (Wladimir J. van der Laan)67f36e0b2cgui: Move static placeholder texts to forms (Wladimir J. van der Laan)11113247c3depends: Support for S390X targets (MarcoFalke)989fd539d5depends: Support for 64-bit POWER targets (Luke Dashjr)c966ff14c7gitian: fixed SC2001 regex (willyk)48a5c92f9eui: disable 3rd-party tx-urls when wallet disabled (Harris)d65fafc2f7gui: disable File->CreateWallet during startup (fanquake)f736f6920blcov: filter /usr/lib64 from coverage report (nijynot)a5a705b46dlcov: filter depends from coverage report (nijynot)2359a4790ddepends: don't use OpenGL in Qt on macOS (fanquake)ba0cad2702build: pass -dead_strip_dylibs to ld on macOS (fanquake)0ccad08fb2Make env data logging optional (Pieter Wuille)6338c02034tests: Fix fuzzing harness for descriptor parsing (descriptor_parse) (practicalswift)b11d35b5e2Fixed wget call in gitian-build.py (willyk)c8becb8280depends: add ability to skip building qrencode (fanquake)711e0449cfci: Remove trusty build (Hennadii Stepanov)7f3ae22468ci: Add CentOS 7 build (Hennadii Stepanov)886f1731beKey pool: Fix omitted pre-split count in GetKeyPoolSize (Andrew Chow)386a994b85Key pool: Change ReturnDestination interface to take address instead of key (Andrew Chow)ba41aa4969Key pool: Move LearnRelated and GetDestination calls (Andrew Chow)65833a7407Add OutputType and CPubKey parameters to KeepDestination (Andrew Chow)9fcf8ce7aeRename Keep/ReturnKey to Keep/ReturnDestination and remove the wrapper (Andrew Chow)596f6460f9Key pool: Move CanGetAddresses call (Andrew Chow)d8daa8f371pubkey: Assert CPubKey's ECCVerifyHandle precondition (practicalswift)897849d8c2tests: Add deserialization fuzzing harnesses (practicalswift)16f0a186dctests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)bd44711e1bbuild: pass -dead_strip_dylibs to ld on macOS (fanquake)1f9d5af4f1tests: Add initialization order fiasco detection in Travis (practicalswift)8bda0960f9Move events_hasher into RNGState() (Pieter Wuille)dddd09eb33test: Wait until mempool is loaded in wallet_abandonconflict (MarcoFalke)55b2cb199crandom: mark RandAddPeriodic and SeedPeriodic as noexcept (fanquake)461e547877doc: correct random.h docs after #17270 (fanquake)01c8701559util: remove unwanted fields from bitcoin-cli -getinfo (malevolent)fa40e48c50ci: Remove unparseable lines from supp file for old xenial clang tsan (MarcoFalke)fa1bfc476cci: ubsan report_error_type=1 and add suppressions (MarcoFalke)fa69cef13etest: Print stderr when subprocess fails (MarcoFalke)2222c30586test: Use char instead of unsigned char (MarcoFalke)faa8023ce9ci: Bump to clang-8 for asan build to avoid segfaults on ppc64le (MarcoFalke)02d8c56a18Seed RNG with precision timestamps on receipt of net messages. (Matt Corallo)e7ad4a2f8cdoc: rename wallet-tool references to bitcoin-wallet (Wilson Ccasihue S)651c636f9ebuild: Fix configure report about qr (Hennadii Stepanov)bd6a243075script: Add Keyserver to verify-commits README (Emil Engler)76303f65f9test: add unit test for non-standard txs with wrong nVersion (Dominik Spicher)70ed2ab7efAdd unit test for DB creation with unicode path (Aaron Clauson)fad88e6f86ci: Remove use of cd (MarcoFalke)fa2941bbf4ci: Remove unmaintained extended_lint (MarcoFalke)fa04187528scripted-diff: Use ci DEPENDS_DIR, remove BASE_BUILD_DIR (MarcoFalke)fa0656d1ebci: Add DEPENDS_DIR variable, Add documentation for folders (MarcoFalke)faeeca87b6scripted-diff: Move various folders to ci scratch dir (MarcoFalke)fabd71076cci: Print free disk space (MarcoFalke)fad9fdbea5test: Properly deserialize integers in little-endian (MarcoFalke)fa94fc10c8ci: Run functional tests on s390x (MarcoFalke)02afb0c550Fix origfee return for bumpfee with feerate arg (Gregory Sanders)98fbd1cdffUse correct C++11 header for std::swap() (Hennadii Stepanov)b66861e2e5Fix comparison function signature (Hennadii Stepanov)eadd1304c8tests: Add a test for funding with sufficient preset inputs and subtractFeeFromOutputs (Andrew Chow)ff330badd4Default to bnb_used = false as there are many cases where BnB is not used (Andrew Chow)6fdf5dab26depends: only use dbus with qt on linux (fanquake)4a96e459d7[gui] send: show watch-only balance in send screen (Sjors Provoost)2689c8fd71[test] qt: add send screen balance test (Sjors Provoost)73b96c94cbnet: Fix uninitialized read in ProcessMessage(...) (practicalswift)d2a3a5cadbutil: make ScheduleBatchPriority advisory only (fanquake)17f81e9648script: Enable SC2001 rule for Gitian scripts (Hennadii Stepanov)61bb21b418script: Enable SC2155 rule for Gitian scripts (Hennadii Stepanov)577682d9e8script: Enable SC2006 rule for Gitian scripts (Hennadii Stepanov)14aded46dfscript: Lint Gitian descriptors with ShellCheck (Hennadii Stepanov)33f5fc32e5test: add rpc getaddressinfo labels test coverage (Jon Atack)0f3539ac6dtest: add listlabels test in wallet_labels.py (Jon Atack)1388de8390rpc: add getaddressinfo code documentation (Jon Atack)2ee0cb3330rpc: update getaddressinfo RPCExamples to bech32 (Jon Atack)8d1ed0c263rpc: clarify label vs labels in getaddressinfo RPCHelpman (Jon Atack)5a0ed85070rpc: improve getaddressinfo RPCHelpman content (Jon Atack)70cda342cdrpc: improve getaddressinfo RPCHelpman formatting (Jon Atack)27d82b63fbgui: remove macOS start on login code (fanquake)93352d261fqt: Use proper class for Ui::ReceiveCoinsDialog (Hennadii Stepanov)8781904643qt: Fix class name of Ui::ModalOverlay (Hennadii Stepanov)1a3a256d5ewallet: replace raw pointer with const reference in AddrToPubKey (Harris)da1f153e5eAdd s390x tests to travis (Elichai Turkel)2fa65e0de9Add ci script to install on s390x (Elichai Turkel)41d7db0b60doc: Change doxygen URL to doxygen.bitcoincore.org (Wladimir J. van der Laan)f13e274b6fAppveyor install libevent[thread] vcpkg (Aaron Clauson)eafd259367build: Add NX workaround for RV64 (Wladimir J. van der Laan)f6e42256febuild: Allow export of environ symbols (Wladimir J. van der Laan)8f15a31760doc: add glibc 2.17 requirement to release-notes (fanquake)16a7be1663build: Bump minimum versions in symbol checker (Wladimir J. van der Laan)b77d5ad59fbuild: Disallow dynamic linking against c++ library (Wladimir J. van der Laan)14feda0814doc: Add historical release notes for 0.19.0.1 (Wladimir J. van der Laan)f93fc61c65Put bounds on the number of CPUID leaves explored (Pieter Wuille)ba2c5fe147Fix CPUID subleaf iteration (Pieter Wuille)3ed5e6819arefactor: Nuke coincontrol circular dependency (Hennadii Stepanov)b509554433Added libtest_util library to msvc build configuration. (Aaron Clauson)794fe91395doc: Update and improve Developer Notes (Hennadii Stepanov)3c2c439dcdwallet: Make -walletdir network only (João Barbosa)b84e776fd1wallet_importmulti: use addresses of the same type as being imported (Andrew Chow)7d7bf2ff4abuild: set minimum supported macOS to 10.12 (fanquake)6a2e6b0600Remove out of date comments for CalculateMaximumSignedTxSize (Gregory Sanders)3958295bc8wallet: LearnRelatedScripts only if KeepDestination (João Barbosa)55295fba4cwallet: Lock address type in ReserveDestination (João Barbosa)c6dd565c88[gui] watch-only wallet: copy PSBT to clipboard (Sjors Provoost)39465d545d[wallet] add fillPSBT to interface (Sjors Provoost)848f889208[gui] send: include watch-only (Sjors Provoost)40537f0909[wallet] ListCoins: include watch-only for wallets without private keys (Sjors Provoost)d0dab897afRefactor: Require scriptPubKey to get wallet SigningProvider (Andrew Chow)4b0c718f8fAccumulate result UniValue in SignTransaction (Andrew Chow)b007efdf19Allow BnB when subtract fee from outputs (Andrew Chow)db15e71e79Use BnB when preset inputs are selected (Andrew Chow)e20c72f9f0Fire TransactionRemovedFromMempool from mempool (251)ec89d2882abuild: remove libanl.so.1 from ALLOWED_LIBRARIES (fanquake)a2e581de94build: Create test utility library from src/test/util/ (Harris)e9a27cf338refactor: Remove unused COINBASE_FLAGS (Neha Narula)5f50599ae7refactor: Cleanup headers from walletmodel.h (Hennadii Stepanov)a53e9895dbrefactor: Nuke walletmodel circular dependency (Hennadii Stepanov)49c4211c04refactor: Nuke walletmodeltransaction circular dep (Hennadii Stepanov)567cb44eb9refactor: Nuke guiutil circular dependency (Hennadii Stepanov)73b5505cferefactor: Move SendCoinsRecipient in own header (Hennadii Stepanov)fa538813b1scripted-diff: Replace ::mempool with m_node.mempool in tests (MarcoFalke)8888ad02e2test: Replace recursive lock with locking annotations (MarcoFalke)fac07f2038node: Add reference to mempool in NodeContext (MarcoFalke)cb9d830a00test: Use proper MAX_SCRIPT_ELEMENT_SIZE (Hennadii Stepanov)402ee706d8refactor: Use proper MAX_SCRIPT_ELEMENT_SIZE const (Hennadii Stepanov)faffa7f0dcwallet: Avoid showing GUI popups on RPC errors (take 2) (MarcoFalke)fa7523d3aaci: Extend docs (MarcoFalke)fa493ef088ci: Make ci system read-only on the git work tree (MarcoFalke)fab1333292ci: Remove git from required packages on host (MarcoFalke)fa00393bceci: Make all filesystem operations inside docker (MarcoFalke)9999a79074travis: Rework CACHE_ERR_MSG (MarcoFalke)8f2d7737cctest: add functional test for non-standard txs with too large scriptSig (Sebastian Falbesoner)30fb598737Fix segfault in allocator_tests/arena_tests (Jeffrey Czyz)15c84f53f4Define ARENA_DEBUG in Travis test runs (Jeffrey Czyz)ad71548822Fix compilation errors in support/lockedpool.cpp (Jeffrey Czyz)8944c1d340Changed tooltips of receive form to highlight difference between Label and Message (dannmat)0580f86bb4Fixup whitespace (Ben Woosley)47101bbb27scripted-diff: Rename CPubKey and CKey::*_KEY_SIZE and COMPRESSED_*_KEY_SIZE (Ben Woosley)02ac445b2fbump libevent to 2.1.11 in depends (stefanwouldgo)ea3c7e585ctest: Remove libssl-dev packages from CI scripts (Wladimir J. van der Laan)7ea55264b9test: remove lsan suppression for libcrypto (Wladimir J. van der Laan)2d7066527abuild: remove libcrypto as internal dependency in libbitcoinconsensus.pc (Wladimir J. van der Laan)278751ea11doc: Remove ssl as a required dependency from build-unix (Wladimir J. van der Laan)a67352161ctest: skip tool_wallet test when bitcoin-wallet isn't compiled (fanquake)e9277baed6test: skip wallet_listreceivedby test when the cli isn't compiled (fanquake)621d398750test: skip bitcoin_cli test when the cli isn't compiled (fanquake)adbe155047doc: Add some better examples for scripted diff (Wladimir J. van der Laan)e5a0bece6edoc: add OpenSSL removal to release-notes.md (fanquake)397dbae070ci: remove OpenSSL installation (fanquake)a4eb839619doc: remove OpenSSL from build instructions and licensing info (fanquake)648b2e3c32depends: remove OpenSSL package (fanquake)8983ee3e6dbuild: remove OpenSSL detection and libs (fanquake)b49b6b0f70random: Remove remaining OpenSSL calls and locking infrastructure (fanquake)4fcfcc294erandom: stop retrieving random bytes from OpenSSL (fanquake)5624ab0b4frandom: stop feeding RNG output back into OpenSSL (fanquake)49f4c7f069tests: Add fuzzing harness for various PSBT related functions (practicalswift)e161bc74d2doc: Remove bitness from bitcoin-qt help message and manpage (Wladimir J. van der Laan)feb5075777build: use osslsigncode 2.0 in gitian (fanquake)1c23ea5fe6test: fix bitcoind already running warnings on macOS (fanquake)2f5f7d6b13GuessVerificationProgress: cap the ratio to 1 (darosior)fa2ec9f451fuzz: Bump timeout in test_runner to accomodate for slow arm64 CPUs (MarcoFalke)fa6e01b2f3ci: Use clang-8 for fuzzing to run on aarch64 ci systems (MarcoFalke)d1c02775aaReport amount of data gathered from environment (Pieter Wuille)64e1e022ceUse thread-safe atomic in perfmon seeder (Pieter Wuille)d61f2bb076Run background seeding periodically instead of unpredictably (Pieter Wuille)483b94292eAdd information gathered through getauxval() (Pieter Wuille)11793ea22eFeed CPUID data into RNG (Pieter Wuille)a81c494b4cUse sysctl for seeding on MacOS/BSD (Pieter Wuille)2554c1b81bGather additional entropy from the environment (Pieter Wuille)c2a262a78cSeed randomness with process id / thread id / various clocks (Pieter Wuille)723c796667[MOVEONLY] Move cpuid code from random & sha256 to compat/cpuid (Pieter Wuille)cea3902015[MOVEONLY] Move perfmon data gathering to new randomenv module (Pieter Wuille)b51bae1a5adoc: minor corrections in random.cpp (fanquake)bc728d12a9depends: qt: Fix C{,XX} pickup (Carl Dong)0ec967164fAdd TheCharlatan's pgp key (TheCharlatan)5fa28e9903refactor: Remove unused signal (Hennadii Stepanov)18b18f8e81[build] ./configure --enable-werror: add unused-variable (Sjors Provoost)d604b4cc8ctests: Update valgrind suppressions (practicalswift)5e8a56348btest: add unit test for non-standard txs with too large scriptSig (Sebastian Falbesoner)38516f9078Fix input size assertion in wallet_bumpfee.py (Gregory Sanders)fac942ca57test: Remove fragile assert_memory_usage_stable (MarcoFalke)edb6b768a4fix uninitialized variable nMinerConfirmationWindow (NullFunctor)333362991cdoc: Explain $LIB in LD_PRELOAD in gitian descriptors (MarcoFalke)fab9850ef4scripted-diff: Avoid hardcoded libfaketime dir in gitian (MarcoFalke)49997813a4test: check custom ancestor limit in mempool_packages.py (Sebastian Falbesoner)a5e77959c8rpc: Expose block height of wallet transactions (João Barbosa)b131524137util: Add missing headers to util/fees.cpp (Hennadii Stepanov)eb880f092bfix Typo: "merkelRoot" -> "merkleRoot" (ianliu)29eb039252Moves vcpkg list to a text file and updates the appveyor job and readme to use it. (Aaron Clauson)1828c6f05frefactor: Styling w/ clang-format, comment update (Hennadii Stepanov)88a94f7bb8qt: Fix missing qRegisterMetaType for size_t (Hennadii Stepanov)3d133482b2Remove unnecessary forward declaration (Mark Erhardt)e2c03c1156doc: Add relase note for db→walletdb rename (Wladimir J. van der Laan)4c1d263d93scripted-diff: Change `BCLog::DB` to `BCLog::WALLETDB` (Wladimir J. van der Laan)6b42b3ba90Rename `db` log category to `walletdb` (like `coindb`) (Wladimir J. van der Laan)083c954b02Add settings_tests (Russell Yanofsky)7f40528cd5Deduplicate settings merge code (Russell Yanofsky)9dcb952fe5Add util::Settings struct and helper functions. (Russell Yanofsky)e2e37cfe8aRemove includeconf nested scope (Russell Yanofsky)5a84aa880fRename includeconf variables for clarity (Russell Yanofsky)dc8e1e7548Clarify emptyIncludeConf logic (Russell Yanofsky)fec230edccdoc: add historical 0.19.0 release notes (fanquake)faf757a125ci: Guess the native host when not cross compiling (MarcoFalke)fa8a60bce9ci: Run non-cross-compile builds natively (MarcoFalke)fa56bcbb01ci: Run CI_WAIT only on travis (MarcoFalke)fad1de66a2wallet: Remove unused boost::this_thread::interruption_point (MarcoFalke)0b75a7f068wallet: Reuse existing batch in CWallet::SetUsedDestinationState (João Barbosa)01f45dd00ewallet: Avoid recursive lock in CWallet::SetUsedDestinationState (João Barbosa)36b68de5b2Remove getBlockDepth method from Chain::interface (Antoine Riard)b66c429c56Remove locked_chain from GetDepthInMainChain and its callers (Antoine Riard)0ff03871adUse CWallet::m_last_block_processed_height in GetDepthInMainChain (Antoine Riard)f77b1de16fOnly return early from BlockUntilSyncedToCurrentChain if current tip is exact match (Antoine Riard)769ff05e48Refactor some importprunedfunds checks with guard clause (Antoine Riard)5971d3848eAdd block_height field in struct Confirmation (Antoine Riard)9700fcb47fReplace CWalletTx::SetConf by Confirmation initialization list (Antoine Riard)5aacc3eff1Add m_last_block_processed_height field in CWallet (Antoine Riard)10b4729e33Pass block height in Chain::BlockConnected/Chain::BlockDisconnected (Antoine Riard)b80f7db832Remove redundant class file includes from test_bitcoin project. (Aaron Clauson)0e7c90eb37test: speed up wallet_avoidreuse.py (Jon Atack)6d50b2606etest: add logging to wallet_avoidreuse.py (Jon Atack)fae43a97catest: Seed test RNG context for each test case, print seed (MarcoFalke)5506ecfe7a[refactor] Replace global int nScriptCheckThreads with bool (John Newbery)d9957623b4[tests] Don't use TestingSetup in the checkqueue_tests (John Newbery)3c84deebaaUpdated appveyor config: - Update build image from Visual Studio 2017 to Visual Studio 2019. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added commands to update vcpkg port files (this does not update already installed packages). - Updated vcpkg package list as per #17309. - Removed commands setting common project file options. Now done via common.init.vcxproj include. - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs: - Updated platform toolset from v141 to v142. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added ignore for linker warning building bitcoin-qt program. - Added missing util/str.cpp class file to test_bitcoin project file. (Aaron Clauson)fa4c6fa9b1doc: Add documentation for new test/lib (MarcoFalke)faec28252cscripted-diff: test: Move setup_common to test library (MarcoFalke)af7bae7340[tests] Don't stop-start unnecessarily in rpc_fundrawtransaction.py (John Newbery)9a8505299b[tests] Use -whitelist in rpc_fundrawtransaction.py (John Newbery)646b593bbd[tests] Speed up rpc_fundrawtransaction.py (John Newbery)05b224a175Add missing SetupGeneration error handling in EncryptWallet (Russell Yanofsky)bfd826a675Clean up nested scope in GetReservedDestination (Russell Yanofsky)491a599b37Get rid of confusing LegacyScriptPubKeyMan::TopUpKeyPool method (Russell Yanofsky)4a0abf694ePass CTxDestination to ScriptPubKeyMan::GetMetadata (Russell Yanofsky)b07b07cd87Add EnsureLegacyScriptPubKeyMan and use in rpcwallet.cpp (Russell Yanofsky)286f197704Add util_ArgParsing test (Russell Yanofsky)7b78b8d3a6doc: Add template for good first issues (Michael Folkson)80c9e66ab8build: Remove install command samples (Hennadii Stepanov)2ad74b78c6doc: Add ShellCheck to lint tests dependencies (Hennadii Stepanov)3d05d33269cli: fix -getinfo output when compiled with no wallet (fanquake)3645e4ca00Add missing newline in util_ChainMerge test (Russell Yanofsky)fa7f5a4d2adoc: Update doc/bips.md with recent changes in master (MarcoFalke)fa5facd3e7rpc: Remove unused boost::this_thread::interruption_point (MarcoFalke)dcef9a2922logs: add timing information to FlushStateToDisk() (James O'Beirne)41edaf227alogs: add BCLog::Timer and related macros (James O'Beirne)1c26c16065Improve "Hide" button tool-tip message (Danny-Scott)fa2c44c3cctest: Add ASSERT_DEBUG_LOG to unit test framework (MarcoFalke)fa1936f57blogging: Add member for arbitrary print callbacks (MarcoFalke)92b2f5306btest: add dumptxoutset RPC test (James O'Beirne)c1ccbc3ddedevtools: add utxo_snapshot.sh (James O'Beirne)57cf74c991rpc: add dumptxoutset (James O'Beirne)92fafb3a7dcoinstats: add coins_count (James O'Beirne)707fde7b9badd unused SnapshotMetadata class (James O'Beirne)104f7de593remove old bootstrap relevant code (tryphe)b2ff500fb3test: add "diamond" unit test to MempoolAncestryTests (Sebastian Falbesoner)b7541705d0tests: Add fuzzing harness for Bech32 encoding/decoding (practicalswift)85a34b1683tests: Move CaseInsensitiveEqual to test/util/str (practicalswift)1a8f0d5a74[tools] update nNextInvSend to use mockable time (Amiti Uttarwar)4de630354f[tools] add PoissonNextSend method that returns mockable time (Amiti Uttarwar)2493770e36TestShell: Return self from setup() (James Chiang)a8dea45524TestShell: Simplify default setting of num_nodes (James Chiang)9c7806e4bfDoc: Remove backticks in test-shell.md code block (James Chiang)d3ed06e2cdTestShell: Fix typo in TestShell warning printout (James Chiang)3fe1aba601depends: move README.md Android instructions to a separate section (Igor Cota)aa9b84aceedepends: update README.md with working Android targets and API levels (Igor Cota)4671fc3d9eExpand on wallet_balance.py comment from https://github.com/bitcoin/bitcoin/pull/16766\#issuecomment-527563982 (Jeremy Rubin)91f3073f08Update release notes to mention changes to IsTrusted and impact on wallet (Jeremy Rubin)8f174ef112Systematize style of IsTrusted single line if (Jeremy Rubin)b49dcbedf7update variable naming conventions for IsTrusted (Jeremy Rubin)5ffe0d1449Update comment in test/functional/wallet_balance.py (Jeremy Rubin)a550c58267Update wallet_balance.py test to reflect new behavior (Jeremy Rubin)5dd7da4ccdReuse trustedParents in looped calls to IsTrusted (Jeremy Rubin)595f09d6deCache tx Trust per-call to avoid DoS (Jeremy Rubin)dce032ce29Make IsTrusted scan parents recursively (Jeremy Rubin)436ad43643Fix issue with conflicted mempool tx in listsinceblock (Adam Jonas)19139ee034Add documentation for test_shell submodule (JamesC)f5112369cfAdd TestShell class (James Chiang)5155602a63Move argparse() to init() (JamesC)2ab01462f4Move assert num_nodes is set into main() (JamesC)614c645643Clear TestNode objects after shutdown (JamesC)6f40820757Add closing and flushing of logging handlers (JamesC)6b71241291Refactor TestFramework main() into setup/shutdown (JamesC)ede8b7608eRemove network_event_loop instance in close() (JamesC)fa07b8beb5test: Reset global args between test suites (MarcoFalke)c98bd13e67replace asserts in RPC code with CHECK_NONFATAL and add linter (Adam Jonas)8d8e5a79d0test: use default address type (bech32) for wallet_bumpfee tests (Sebastian Falbesoner)b6d2183858Minor refactoring to remove implied m_addr_relay_peer. (User)a552e8477cadded asserts to check m_addr_known when it's used (User)090b75c14bp2p: Avoid allocating memory for addrKnown where we don't need it (User)152b0a00d8Refactor: Move nTimeFirstKey accesses out of CWallet (Andrew Chow)7ef47b88e6Refactor: Move GetKeypoolSize code out of CWallet (Andrew Chow)089e17d45cRefactor: Move RewriteDB code out of CWallet (Andrew Chow)0eac7088abRefactor: Move SetupGeneration code out of CWallet (Andrew Chow)f45d12b36cRefactor: Move HavePrivateKeys code out of CWallet::CreateWalletFromFile (Andrew Chow)8b0d82bb42Refactor: Move Upgrade code out of CWallet::CreateWalletFromFile (Andrew Chow)46865ec958Refactor: Move MarkUnusedAddresses code out of CWallet::AddToWalletIfInvolvingMe (Andrew Chow)a18edd7b38Refactor: Move GetMetadata code out of getaddressinfo (Andrew Chow)9716bbe0f8Refactor: Move LoadKey LegacyScriptPubKeyMan method definition (Andrew Chow)67be6b9e21Refactor: Move SetAddressBookWithDB call out of LegacyScriptPubKeyMan::ImportScriptPubKeys (Andrew Chow)fc2867fdf5refactor: Replace UnsetWalletFlagWithDB with UnsetBlankWalletFlag in ScriptPubKeyMan (Andrew Chow)78e7cbc7baRefactor: Remove UnsetWalletFlag call from LegacyScriptPubKeyMan::SetHDSeed (Andrew Chow)0391aba52dRemove SetWalletFlag from WalletStorage (Andrew Chow)4c5491f99cRefactor: Move SetWalletFlag out of LegacyScriptPubKeyMan::UpgradeKeyMetadata (Andrew Chow)769acef857Refactor: Move SetAddressBook call out of LegacyScriptPubKeyMan::GetNewDestination (Andrew Chow)acedc5b823Refactor: Add new ScriptPubKeyMan virtual methods (Andrew Chow)533d8b364fRefactor: Declare LegacyScriptPubKeyMan methods as virtual (Andrew Chow)b4cb18bce3MOVEONLY: Reorder LegacyScriptPubKeyMan methods (Andrew Chow)fa8919889fbench: Remove redundant copy constructor in mempool_stress (MarcoFalke)29f8434368refactor: Remove redundant PSBT copy constructor (Hennadii Stepanov)facc0da63atravis: Run unit and functional tests on native arm (MarcoFalke)fafa064d2aci: Remove ccache requirement on the host (MarcoFalke)fa0a731d00test: Add RegTestingSetup to setup_common (MarcoFalke)fa54b3e248test: move-only ComputeFilter to src/test/lib/blockfilter (MarcoFalke)ac831339cbdoc: Fix some misspellings (randymcmillan)f9af3ced1cAndroid: add all arch support (Block Mechanic)d419ca7e32depends: export dynamic JNI symbols from static qtforandroid.a (Igor Cota)ed30684d03Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically compiled (Igor Cota)e4c319e8a1builds: remove superfluous config_opts_aarch64_android (Igor Cota)24ffef0c27Patch libevent when building for Android (fix arc4random_addrandom) (Igor Cota)f1e40b3e71Update bitcoin_qt.m4 (BlockMechanic)b4057d8261Define TARGET_OS when host is android (Igor Cota)80b475f159Fix Android zlib cross compilation issue (https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar) (Igor Cota)45f8219015Add full Android build example command and instructions on getting SDK/NDK (Igor Cota)b68f2a68c2Add config opts and patch for aarch64_android build of Qt (Igor Cota)9c4cb0166eAdd ranlib to android.mk hosts file (fix OSX Android NDK build) (Igor Cota)c2a749c9c1Add example Android host-platform-triplet and options (Igor Cota)0b0cff3c61Add support for building Android dependencies (Igor Cota)f44abe4bedrefactor: Remove addrdb.h dependency from node.h (Hennadii Stepanov)3ed8e3d079doc: Remove explicit network name references (Fabian Jahr)d6e493f0c2wallet: Remove left-over BIP70 comment (Fabian Jahr)a35b6824f3Add assertion to randrange that input is not 0 (Jeremy Rubin)b0c774b48aAdd new mempool benchmarks for a complex pool (Jeremy Rubin)5710dadf9btest: fix script_p2sh_tests OP_PUSHBACK2/4 missing (kodslav)162d0038e7doc: compiling with Visual Studio is now supported on Windows (fanquake)b1f1fb5f1ddoc: update MSVC instructions to remove Qt configuration (fanquake)59853c33f1test: Do not instantiate CAddrDB for static call (Hennadii Stepanov)a6f6f77a86QA: Add wallet_implicitsegwit to test the ability to transform keys between address types (Luke Dashjr)58d0393becbuild: update retry to current version (randymcmillann)ff22751417test: rm ascii art in rpc_fundrawtransaction (Jon Atack)94fcc08541test: add rpc_fundrawtransaction logging (Jon Atack)8734c856f8Replace the LogPrint function with a macro (Jeffrey Czyz)fa0b3da36cSquashed 'src/univalue/' changes from 7890db99d6..5a58a46671 (MarcoFalke)a8b82867d5Fix incorrect help-debug for -checkpoints (Antoine Riard)8a0ca5e9delog: Fix log message for -par=1 (Hennadii Stepanov)c5377ffbbb[qa] Add shrinkdebugfile=0 to regtest bitcoin.conf (Suhas Daftuar)60582d6060[linter] Strip trailing / in path for git-subtree-check (John Newbery)53fe0b70adFix missing strFailReason in CreateTransaction (Russell Yanofsky)4b28a05f08Fix misplaced AssertLockHeld (Russell Yanofsky)2632b1f124doc: Clarify WalletStorage / Wallet relation (Russell Yanofsky)628d11b2baAdd back mistakenly removed AssertLockHeld (Russell Yanofsky)52cf68f7ffRefactor: Add GetLegacyScriptPubKeyMan helper (Russell Yanofsky)9cae3d5e94tests: Add fuzzer initialization (hold ECCVerifyHandle) (practicalswift)3b3b93174ansis: Write to correct filename in first place (Carl Dong)d314e8a818refactor: Replace all uses of boost::optional with our own Optional type (Wladimir J. van der Laan)1cf9b35c0ddoc: Add developer note on c_str() (Wladimir J. van der Laan)3004d5a12d[validation] Remove fMissingInputs from AcceptToMemoryPool() (John Newbery)c428622a5b[validation] Remove unused first_invalid parameter from ProcessNewBlockHeaders() (John Newbery)7204c6434b[validation] Remove useless ret parameter from Invalid() (John Newbery)1a37de4b31[validation] Remove error() calls from Invalid() calls (John Newbery)067981e492[validation] Tidy Up ValidationResult class (John Newbery)a27a2957ed[validation] Add CValidationState subclasses (John Newbery)fa144e6fderpc: Add generatetodescriptor (MarcoFalke)595cc9bcafdocs: Add undefined to --with-sanitizers=fuzzer,address (practicalswift)d5dbb4898ctests: Add fuzzing harness for ISO-8601 related functions (practicalswift)31879345eecli: Add "headers" and "verificationprogress" to -getinfo (Wladimir J. van der Laan)362ded410bAvoid using g_rpc_node global in wallet code (Russell Yanofsky)8922d7f6b7scripted-diff: Remove g_connman, g_banman globals (Russell Yanofsky)e6f4f895d5Pass NodeContext, ConnMan, BanMan references more places (Russell Yanofsky)4d5448c76bMOVEONLY: Move NodeContext struct to node/context.h (Russell Yanofsky)301bd41a2escripted-diff: Rename InitInterfaces to NodeContext (Russell Yanofsky)37b8475dcfChainparams: Use name constants in chainparams initialization (Jorge Timón)dd94cc46e4contrib: remove accounts from bash completion (fanquake)f3b51eb935Fix occurences of c_str() used with size() to data() (Wladimir J. van der Laan)c1c6c410a6test: add reason checks for non-standard txs in test_IsStandard (Sebastian Falbesoner)f201ba59ffRefactor: Split up CWallet and LegacyScriptPubKeyMan and classes (Andrew Chow)6702048f91MOVEONLY: Move key handling code out of wallet to keyman file (Andrew Chow)ab053ec6d1Move wallet enums to walletutil.h (Andrew Chow)c72906dcc1refactor: Remove redundant c_str() calls in formatting (Wladimir J. van der Laan)e7b02b54ccAdd roundtrip and more tests to ParseISO8601DateTime and FormatISO8601DateTime (Elichai Turkel)9e2c623be5Rename DecodeDumpTime to ParseISO8601DateTime and move to time.cpp (Elichai Turkel)7aad3b68e7doc: Doxygen-friendly CuckooCache comments (Jon Layton)ed2dc5e48aAdd override/final modifiers to V1TransportDeserializer (Pieter Wuille)f342a5e61aMake resetting implicit in TransportDeserializer::Read() (Pieter Wuille)6a91499496Remove oversized message detection from log and interface (Pieter Wuille)b0e10ff4dfForce CNetMessage::m_recv to use std::move (Jonas Schnelli)efecb74677Use adapter pattern for the network deserializer (Jonas Schnelli)1a5c656c31Remove transport protocol knowhow from CNetMessage / net processing (Jonas Schnelli)6294ecdb8bRefactor: split network transport deserializing from message container (Jonas Schnelli)3bb0a4674fbench: Fix negative values and zero for -evals flag (nijynot)fa398091b7Avoid unused call to GuessVerificationProgress in NotifyHeaderTip (MarcoFalke)faeb666536util: Add CHECK_NONFATAL and use it in src/rpc (MarcoFalke)e156b9d8b9gui: disable font antialiasing for QR image address (fanquake)a8f5026d6dgui: Fix start timer from non QThread (João Barbosa)a592913022http: add missing header bootlegged by boost < 1.72 (Jan Beich)6b6be41c36gui: Make polling in ClientModel asynchronous (João Barbosa)8c6081a884compat: remove bswap_* check on macOS (fanquake)2cba35ab38build: skip building OpenSSL lib_ssl (fanquake)45a2d3c552build: remove OpenSSL from Qt build (fanquake)befbc40eb5build: remove EVP_MD_CTX_new detection (fanquake)fcee10c2d0build: remove SSL lib detection (fanquake)c7f30dbca8gui: Update BIP70 support message (fanquake)a3e810326dbuild: remove BIP70 entries from macOS Info.plist (fanquake)72fe13a58dgui: remove payment request file handling from OpenURI dialog (fanquake)3548e4aac7Remove BIP70 Support (fanquake)1cb9a4e28cdocs: remove protobuf from docs (fanquake)67328bb7cabuild: remove protobuf from depends (fanquake)04dbdd613f[net] SocketHandler: log peer id for close and disconnect (Sjors Provoost)dc2fdb9907tests: Add fuzzing harness for various CScript related functions (practicalswift)0a433fc876[validation] Remove unused cacheSigStore from CheckInputsFromMempoolAndCache (John Newbery)b05ec410f2Add unit testing for the CompressScript functions (marcaiaf)fa92813407consensus: Explain why fCheckDuplicateInputs can not be skipped and remove it (MarcoFalke)50037e97d1depends: fix boost mac cross build with clang 9+ (Cory Fields)168b781fe7Continue relaying transactions after they expire from mapRelay (Anthony Towns)5b44a75493refactor: Remove unused CExt{Pub,}Key (de)serialization methods (Sebastian Falbesoner)fa710066b9ci: Disable functional tests on mac host (MarcoFalke)6f6852335fdoc: Changed miniupnp links to https (Marius Kjærstad)c2f964a674tests: Remove Cygwin WinMain workaround (practicalswift)db4bd32cc3tests: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed. (practicalswift)0fc81a1e87gui: Fix payAmount tooltip in SendCoinsEntry (João Barbosa)9075d13153[docs] Add release notes for removal of REJECT reasons (John Newbery)04a2f326ec[validation] Fix REJECT message comments (John Newbery)e9d5a59e34[validation] Remove REJECT code from CValidationState (John Newbery)0053e16714[logging] Don't log REJECT code when transaction is rejected (John Newbery)a1a07cfe99[validation] Fix peer punishment for bad blocks (John Newbery)9e95931865[wallet] Remove `state` argument from CWallet::CommitTransaction (John Newbery)d1734f9a3b[wallet] Remove return value from CommitTransaction() (John Newbery)b6f486a02b[wallet] Add doxygen comment to CWallet::CommitTransaction() (John Newbery)8bba91b22d[wallet] Fix whitespace in CWallet::CommitTransaction() (John Newbery)4896bacc00Add testcase to simulate bitcoin schema in leveldb (MapleLaker)b5ffa9f3dbtests: Add Parse(...) (descriptor) fuzzing harness (practicalswift)fdef8bbf2ftests: Allow for using non-default fuzzing initialization (practicalswift)a0fc076476refactor: test/bench: dedup Build{Crediting,Spending}Transaction() (Sebastian Falbesoner)cd68594dcdOnly check the hash of transactions loaded from disk (Andrew Chow)088a730fe6static tooltip (JeremyCrookshank)89339d1460tests: Add test for loadblock option (Fabian Jahr)0616138a07tests: Remove no longer needed UBSan suppressions (issues fixed). Add documentation. (practicalswift)8d22ab0e50ci: Enable address sanitizer (ASan) stack-use-after-return checking (practicalswift)facec1c643wallet: Avoid showing GUI popups on RPC errors (MarcoFalke)57e2edea0bSend amount shows minimum amount placeholder (JeremyCrookshank)fa677d1801ci: Remove redundant check for TRAVIS_OS_NAME (MarcoFalke)fadccb263bdoc: Document that GNU tools are required for linters (MarcoFalke)4444704ca9ci: Cleanup macOS runs (MarcoFalke)e892f9648arandom: remove call to RAND_screen() (Windows only) (fanquake)7ca68e1461wallet: Remove unused GetLabelName (Sebastian Falbesoner)f09ba060cadoc: Added instructions for how to add an upsteam to forked repo (dannmat)b5f0be3879util: Filter out macOS process serial number (Hennadii Stepanov)1ba49bcdc2build: pass --enable-option-checking to applicable packages (fanquake)bcff8e21b1build: only pass --disable-dependency-tracking to packages that understand it (fanquake)cc3b5289efgui: remove OpenSSL PRNG seeding (Windows, Qt only) (fanquake)7d8d3e6a2aAdd tests for util/vector.h's Cat and Vector (Pieter Wuille)e65e61c812Add some general std::vector utility functions (Pieter Wuille)7005d6ab8fgui: Add placeholder text to the sign message field (Danny-Scott)b3b6b6f62fgui: don't disable the sync overlay when wallet is disabled (Ben Carman)fa0467326fchain: Set all CBlockIndex members to null, remove SetNull helper (MarcoFalke)9576614d2ddoc: Describe log files + consistent paths in test READMEs (Martin Erlandsson)1f6c650c99travis: run tests on macOS native (Sjors Provoost)85016e52f6[rpc] Fix broken bitcoin-cli examples (Andrew Toth)5013171eafdoc: correct function name in ReportHardwareRand() (fanquake)f59bbb61aftest: Fix bug in blockfilter_index_tests. (Jim Posen)084e17cebdRemove unused includes (practicalswift)d7820a1250util: Filter control characters out of log messages (Wladimir J. van der Laan)b3b26e149crpc: fix -rpcclienttimeout 0 option (Fabian Jahr)58d67f1cc0tests: Add fuzzing harness for descriptor Span-parsing helpers (practicalswift)a0daea459c[build] depends macOS: point --sysroot to SDK (Sjors Provoost)8019b6b150gui: Make RPCConsole::TabTypes an enum class (João Barbosa)b96ed03962[wallet] Remove pruning check for -rescan option (John Newbery)eea462de9c[wallet] Remove package limit config access from wallet (John Newbery)66b29848c7change wallet pointers to references in feebumper (Adam Jonas)9be6666a4etypo and unneccessary parentheses (Adam Jonas)610d9384degui: Added label & tooltip for Verify Message labels (dannmat)eebcdfa86a[test] rename SegwitVersion1SignatureHash() (John Newbery)4441e58497Update macdeploy README to include correctly named `.dmg` file produced from `make deploy` (Zakk)5f40d2770agithub: Add warning for bug reports (Wladimir J. van der Laan)44f7a8d7a7Disable _FORTIFY_SOURCE when enable-debug (Andrew Chow)d48f664440tests: Fix fs_tests for unknown locales (Daki Carnhof)fa6ed82794doc: update bips.md with buried BIP9 deployments (MarcoFalke)c8961c7d9fdoc: Add switch on enum example (Hennadii Stepanov)11e3d5eb1dutil: Add AllowShortCaseLabelsOnASingleLine option (Hennadii Stepanov)fba4baa4fatest: speed up wallet_address_types by whitelisting peers (immediate tx relay) (Sebastian Falbesoner)32d665c265test: fix "tx-size-small" errors after default address change (Sebastian Falbesoner)7e50abcc29tests: Add EvalScript(...) fuzzing harness (practicalswift)bebb637472tests: Add FuzzedDataProvider fuzzing helper from the Chromium project (practicalswift)bd3f5a90ecbuild: remove mingw linker workaround from win gitian descriptor (fanquake)9192ce5d63depends: pull upstream libdmg-hfsplus changes (fanquake)9b54f3436bdepends: latest config.guess & config.sub (fanquake)581c9be0d8test: speedup wallet_backup by whitelisting peers (immediate tx relay) (Sebastian Falbesoner)15ac916642doc: Doxygen-friendly descriptor.h comments (Jon Layton)fa91590a74build: Add README.md to DIST target (MarcoFalke)fa191c058fdoc: Add missing indexes/blockfilter/basic/ to doc/files.md (MarcoFalke)86b9f92da2doc: Add detailed info about Bitcoin Core files (Hennadii Stepanov)d478a472ebtest: Fix combine_logs.py for AppVeyor build (Martin Zumsande)bb36372b8ftest: add unit tests for Span-parsing helpers (Sebastian Falbesoner)5e69aeec3fAdd documenting comments to spanparsing.h (Pieter Wuille)230d43fdbcAbstract out some of the descriptor Span-parsing helpers (Pieter Wuille)a57a1d42d5test: add unit test for wallet watch-only methods involving PubKeys (Sebastian Falbesoner)f4c8953b00Add missing fields in TransactionDescriptionString and others (Antoine Riard)3530108491MOVEONLY : move RPC wallets helpers to TransactionDescriptionString (Antoine Riard)5c2987636ftests: Remove TRANSACTION_DESERIALIZE (replaced by transaction fuzzer) (practicalswift)0a573682f2tests: Add fuzzing harness for CheckTransaction(...), IsStandardTx(...) and other CTransaction related functions (practicalswift)facb9a1315init: Change fallback locale to C.UTF-8 (Wladimir J. van der Laan)091747b46egui: Add shortcuts for tab tools (João Barbosa)f33efa8ec5GUI: Restore RPC Console to non-wallet tray icon menu (Luke Dashjr)181989f6c9build: Add variable printing target to Makefiles (Carl Dong)cd82f75a43lint: Install grep and git via brew on mac for --perl-regexp (Ben Woosley)eafa747ca5lint: Fix shellcheck SC2155 (Ben Woosley)615ff4e7dblint: Run the linters against Mac OS on Travis (Ben Woosley)11fdfcf7f9Show addresses for "SendToSelf" transactions (Hennadii Stepanov)fa79dff624ci: Run tests on arm (MarcoFalke)a54ab2104c[doc] fix Makefile target in benchmarking.md (Sebastian Falbesoner)9743432034Fix bug where duplicate PSBT keys are accepted (John L. Jegutanis)4de0bde7bcbuild: Fix #include sys/poll.h to just poll.h (without sys/) (Daki Carnhof)fa25f43ac5p2p: Remove BIP61 reject messages (MarcoFalke)dd85166b6cAdded double quotes (Ava Barron)9d1f971c75gitian: Put things in the right place to begin with (Carl Dong)71949a97a7gitian: Eliminate rename dependency (Carl Dong)999a9a5f5bgitian: Smaller diff with gitian-linux.yml (Carl Dong)c4a3c25ba1gitian: Fix README inclusion in archives (Carl Dong)93cb974980gitian: Use split-debug.sh for Win builds (Carl Dong)4bb660be90Add release note (Andrew Chow)ed96b295d7Update descriptors.md to include sortedmulti (Andrew Chow)80be78ea75Test sortedmulti descriptor using BIP 67 tests (Andrew Chow)6f588fd227Add sortedmulti descriptor and unit tests (Andrew Chow)c640ca24f9Always generate `bitcoinstrings.cpp` on `make translate` (Franck Royer)30fc1a3f54build: Remove workaround for ancient libtool (Hennadii Stepanov)6ca01b9a10build: Ensure a minimal version of libtool (Hennadii Stepanov)c2bb3919a8util: Simplify path argument for CBlockTreeDB ctor (Hennadii Stepanov)7fb7acfc20Set init stop timeout to 10 min (setpill)ddddd8961bci: Use busybox utils for one build (MarcoFalke)0d86f4d3darefactor: consolidate PASTE macros (James O'Beirne)3284e6c09ascripts: search for next position of magic bytes rather than fail (Tim Akinbo)8acd58927aFix Python Docstring to include all Args. (John Bampton)ffa2221256tests: Pass fuzzing inputs as constant references (practicalswift)fa1ad8f06ebuild: Bump gitian descriptor versions (MarcoFalke)dffae5a5adscripts: update copyright_header script to include additional files (gchuf)eb7b781659modify p2p_feefilter test to catch rounding error (Gregory Sanders)6a51f79517Disallow implicit conversion for CFeeRate constructor (Gregory Sanders)8e59af55aafeefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic (Gregory Sanders)fad1dbda98doc: Fix amount typo in release notes (MarcoFalke)fa8d052da5doc: Update bips.md for default bech32 addresses in 0.20.0 (MarcoFalke)fab68a0772doc: move-only release notes fragments for 0.20.0 (MarcoFalke)3f89e1eb23Prevent processing duplicate payment requests (João Barbosa)0b1dcd32bfcontrib: fix minor typos in makeseeds.py (Brian Solon)faca1c24f9doc: move-only: Steps for "before major release branch-off" (MarcoFalke)07e4bdba3bDon't rename main thread at process level (Wladimir J. van der Laan)fa95503d64ci: Make apt-get more verbose, to debug travis timeouts (MarcoFalke)ea4cc3a7b3Truly decouple wallet from chainparams for -fallbackfee (Jorge Timón)50c4afa3c4add newline after -stdin* (Karl-Johan Alm)7f11fba2e3cli: add -stdinwalletpassphrase for (slightly more) secure CLI (Karl-Johan Alm)0da503e947add stdin helpers for password input support (Karl-Johan Alm)71d4eddf42Add release note for bech32 by default in wallet (Gregory Sanders)b34f0180e3Revert "gui: Generate bech32 addresses by default (take 2, fixup)" (Gregory Sanders)f50785ab56Change default address type to bech32 (Gregory Sanders)faec689bedtxmempool: Make entry time type-safe (std::chrono) (MarcoFalke)faaa1f01dautil: Add count_seconds time helper (MarcoFalke)1111170f2ftest: mempool entry time is persisted (MarcoFalke)a649cc6a17Change sendcoins dialogue Yes to Send (Gregory Sanders)434101875cdoc: reset release notes after 0.19 split-off (Jon Atack)c0859b7dacbuild: 0.19 release updates on master (Jon Atack)c812aba394test bumpfee fee_rate argument (ezegom)9f25de3d9erpc bumpfee check fee_rate argument (ezegom)88e5f997dfrpc bumpfee: add fee_rate argument (ezegom)1a4c791cf4rpc bumpfee: move feerate estimation logic into separate method (ezegom)addaf8af82make sure to update the UI when deleting a transaction (Jonas Schnelli)aa81e2cc0eEnable UBSan for Travis fuzzer job (practicalswift)2a4e60b482Fix block index inconsistency in InvalidateBlock() (Suhas Daftuar)0218171a24contrib: Remove invalid nodes from seeds list (Wladimir J. van der Laan)3b09f2b9d9net: 0.19 hardcoded seeds update (Wladimir J. van der Laan)801d341f3acontrib: makeseeds: More fancy output (Wladimir J. van der Laan)ed76299beacontrib: makeseeds: Limit per network, instead of total (Wladimir J. van der Laan)c254a9ef69contrib: makeseeds: dedup by ip,port (Wladimir J. van der Laan)3314d87966contrib: makeseeds: Factor out ASN lookup (Wladimir J. van der Laan)301c2b1ab5contrib: makeseeds: Improve logging and filtering (Wladimir J. van der Laan)73aaf4ecf8Make SignatureExtractorChecker private to its own file (Ben Woosley)fa3d98426bdoc: Consolidate release notes before 0.19.0 (MarcoFalke)fa02f2d607doc: Add missing release notes for 16383 (MarcoFalke)fa3a733116chainparams: Bump assumed chain params (MarcoFalke)fa06bb607dqa: Do not force overwrite of QT_QPA_PLATFORM on windows for gui tests (MarcoFalke)faccf5f9c8doc: Explain QT_QPA_PLATFORM for gui tests (MarcoFalke)386ae0f691util: Make thread names shorter (Hennadii Stepanov)fadd6e0d2adoc: Remove mention of renamed mapBlocksUnlinked (MarcoFalke)57b0cd4db9build: Installed Qt version only appears if being built (Jon Layton)85973bcc44When BIP70 is disabled, get PaymentRequest merchant using string search (Andrew Chow)60e855f5c5doc: Bump version in bips.md, mention bumping in release process (Wladimir J. van der Laan)82c11773dcdoc: Add mention of BIP158 indexing since v0.19.0 (Wladimir J. van der Laan)226700602bdoc: Add mention of BIP125 used by wallet GUI by default since v0.18.1 (Wladimir J. van der Laan)b11514d4e5doc: Add mention of BIP70 disabling by default in bips.md (Wladimir J. van der Laan)3eea6a8f26refactor: Remove Qt function to disable menu icons on macOS (Emil Engler)e28d8f8936Correct docstring param name. (John Bampton)9c23ebd6b1qa: Fix service flag comparison check in rpc_net test (Luke Dashjr)e2ce392aectest: Avoid whitespace linting in qt translations (Wladimir J. van der Laan)977dd23e40qt: Periodic translations update (Wladimir J. van der Laan)eb4c43e49fdoc: documents how to calculate m_assumed_blockchain_size and m_assumed_chain_state_size on the release process. (marcoagner)80031045fcClarify includeWatching for fundrawtransaction (Steven Roose)0cc7dd74e0test: add unittests for CheckProofOfWork (soroosh-sdi)463a1d5244Refresh ZeroMQ 4.3.1 patch (Nathan Marley)568aa0cf83Add OpenSSL termios fix for musl libc (Nathan Marley)8cf9898b53qt: Change default size of intro frame (Emil Engler)203a67d21fdoc: Put PR template in comments (Wladimir J. van der Laan)67d99900b0make SaltedOutpointHasher noexcept (Martin Ankerl)4320bfc0c0build: Factor out qt translations from build system (Wladimir J. van der Laan)43e7d576f5doc: Improve test READMEs (Fabian Jahr)fdb3e8f8b2Ignore old versionbit activations (Anthony Towns)1a02edb3f2[RPC] Fix casing in getblockchaininfo to be inline with the rest of the response (Dan Gershony)8d841ad492doc: Remove MSVC update step from translation process (Wladimir J. van der Laan)efd2474d17util: CBufferedFile fixes (Larry Ruane)1b4030e264depends: qt: Fix LDFLAGS pickup (Carl Dong)6eb12ffcbddepends: qt: Fix C{,XX}FLAGS pickup (Carl Dong)fa607c2292validation: Make GetWitnessCommitmentIndex public (MarcoFalke)f4beb4996dtest: Remove python dead code linter (Wladimir J. van der Laan)fa7847d99bgui: Rename address checkbox back to bech32 (MarcoFalke)fadd76acc2ci: Remove TRAVIS env vars (MarcoFalke)fa449b89b5ci: Set $HOST before setting fallback values (MarcoFalke)6659810e2ftest: use named args for sendrawtransaction calls (Jon Atack)5c1cd78b7edoc: improve rawtransaction code/test docs (Jon Atack)acc14c5093test: fix incorrect value in rpc_rawtransaction.py (Jon Atack)27fcb40fc0doc: replace outdated OpenSSL comment in test README (fanquake)dbdc758c27doc: Improve doxygen readme navigation section (Jon Layton)c15ac2c0aadoc: Move doxygen intro to file for USE_MDFILE_AS_MANPAGE (Jon Layton)faa079db92travis: Disable feature_block in tsan run (MarcoFalke)6170ec5d3aDo not query all DNS seed at once (Pieter Wuille)fa69588537test: Make PORT_MIN in test runner configurable (MarcoFalke)bb99c4e684build: update boost macros to latest upstream (fanquake)fa2e038691test: Fix extra_args in wallet_import_rescan.py (MarcoFalke)72a18a73aftests: Add information on how to add Vulture suppressions (practicalswift)96299a9d6cTest: Move common function assert_approx() into util.py (fridokus)14c6a2de1a[doc] update brew instruction for doxygen (Sjors Provoost)fa8d65f071doc: Fix doxygen comment for SignTransaction in rpc/rawtransaction_util (MarcoFalke)3cf36736e5refactoring: move ReplayBlocks under CChainState (James O'Beirne)bcf73d3b84refactoring: move LoadChainTip to CChainState method (James O'Beirne)f5809d5b13doc: fix CChainState::ActivateBestChain doc (James O'Beirne)c4b0c08f7cUpdate tx-size-small comment with relevant CVE disclosure (Gregory Sanders)fadfd844detest: Remove unused connect_nodes_bi (MarcoFalke)fa3b9ee8b2scripted-diff: test: Replace connect_nodes_bi with connect_nodes (MarcoFalke)faaee1e39atest: Use connect_nodes when connecting nodes in the test_framework (MarcoFalke)1111bb91f5test: Reformat python imports to aid scripted diff (MarcoFalke)fac35b21e2test: lint: Add DisabledOpcodeTemplates to whitelist (MarcoFalke)2dfd6834eftest: Add test for default maxfeerate in sendrawtransaction (Joonmo Yang)261843e4bewallet/rpc: Use the default maxfeerate value as BTC/kB (Joonmo Yang)b4fd0ca9beInclude cstring for sanity_test_fdelt if required (Ben Woosley)7fb886b1b1[moveonly] Split glibc sanity_test_fdelt out (Ben Woosley)c0b5d97103Test that joinpsbts randomly shuffles the inputs (Andrew Chow)6f405a1d3bShuffle inputs and outputs after joining psbts (Andrew Chow)4a87c5cfdf[refactor] Rewrite AcceptToMemoryPoolWorker() using smaller parts (Suhas Daftuar)0c62e3aa73New regression testing for CVE-2018-17144, CVE-2012-2459, and CVE-2010-5137. (lucash-dev)38bfca6bb2Added comments referencing multiple CVEs in tests and production code. (lucash-dev)f0636d3418depends: zlib: Move toolchain options to configure (Carl Dong)93995c2751build: remove unnecessary qt xcb patching (fanquake)4d45577c43build: remove unnecessary macOS qt patching (fanquake)8573429d46test: add some unit tests for merkle.cpp (soroosh-sdi)ae0add8dfeAdd python bech32 impl round-trip test (Gregory Sanders)fa502cb6f0test: Bump timeouts in slow running tests (MarcoFalke)6aab7649d3doc: Fix whitespace errs in .md files, bitcoin.conf, Info.plist.in, and find_bdb48.m4 (Jon Layton)fa27eded3aqt: Run "make translate" in ./src (MarcoFalke)2222c96deetest: Add notes on how to generate data/wallets/high_minversion (MarcoFalke)fae961de6btest: Establish only one connection between nodes in rpc_invalidateblock (MarcoFalke)82e53f37e1doc: add comments clarifying how local services are advertised (James O'Beirne)fa912a8ad5doc: move-only ActivateBestChain doxygen comment to header (MarcoFalke)fa99efd054doc: ActivateBestChainStep return value (MarcoFalke)107e030723build: make protobuf optional in depends (fanquake)ff6122f32bdoc: clarify protobuf build requirements (fanquake)cad3ab5db8gui: fix autofocus in CreateWalletActivity::askPassphrase() (Jon Atack)539d9403afgui: fix passphrase labels/tooltip in createwalletdialog/askpassphrasedialog (Jon Atack)43aa9b0d79gui: rename encrypt(), blank(), and askPasshprase() (Jon Atack)b6233a4985bitcoin-wallet: Add a missing closing parenthesis in the help (darosior)1b41c2c8a1test: improve gettransaction test coverage (Jon Atack)0f34f54888rpc: fix regression in gettransaction (Jon Atack)1153caf78eQt: advise users not to switch wallets when opening a BIP70 URI. (James Hilliard)7dee8f4808[wallet] Rename 'decode' argument in gettransaction method to 'verbose' (John Newbery)f390d8556bPrevent UpdateTip log message from being broken up (Steven Roose)e09913f1c4doc: specify protobuf as optional in build docs (fanquake)376f4929f8build: disable BIP70 support by default (fanquake)706340150fElaborate on the need to re-login on Debian-based systems to use tor following usermod (clashicly)9924bce317[gui] intro: enable pruning by default unless disk is big (Sjors Provoost)c8de347a9d[gui] intro: add prune preference (Sjors Provoost)1bbc49d207[gui] intro: inform caller if intro was shown (Sjors Provoost)1957103786[gui] add explicit prune setter (Sjors Provoost)1bccf6a52d[node] add forceSetArg to interface (Sjors Provoost)333317ce6btest: Test that low difficulty chain fork is rejected (MarcoFalke)fa31dc1bf4test: Pass down correct chain name in tests (MarcoFalke)1d524c62eatests: rename 'test_getnetworkinginfo' in 'test_getnetworkinfo' (darosior)07a8f65031tests: add a test for the 'servicesnames' RPC field (darosior)1619684322Added libbitcoin_qt and bitcoin-qt to the msbuild configuration. (Aaron Clauson)ec4c79326bsignrawtransaction*: improve error for partial signing (Anthony Towns)3c481f8921signrawtransactionwithkey: better error messages for bad redeemScript/witnessScript (Anthony Towns)0c6054fc9fdepends: Bump QT to LTS release 5.9.8 (THETCR)3bf9d8cac0Testchains: Qt: Simplify network/chain styles (Jorge Timón)052c54ecb0Testchains: Generic selection with -chain=<str> in addition of -testnet and -regtest (Jorge Timón)66740f460adoc: add a release note for the new field in 'getpeerinfo' and 'getnetworkinfo' (darosior)6564f58c87rpc/net: decode the services flags in a new entry (darosior)1ac7b7f66bscripts: filter more qt plugins we don't use in macdeployqtplus (fanquake)57cdd0697dscripts: misc cleanups in macdeployqtplus (fanquake)51729a4dfascripts: use format() in macdeployqtplus (fanquake)1c37e81694scripts: add type annotations to macdeployqtplus (fanquake)e90478f43elog: harmonize bitcoind server logging (Jon Atack)6d803494b5Don't show addresses or P2PK in decoderawtransaction (nicolas.dorier)fa734603b7wallet: Fix segmentation fault in CreateWalletFromFile (MarcoFalke)fab3c34412test: Print both messages on failure in assert_raises_message (MarcoFalke)faa13539d5wallet: Fix documentation around WalletParameterInteraction (MarcoFalke)fabca7756ddoc: Add issue templates for bug and feature request (MarcoFalke)ad52f054f6Escape ampersands (&) in wallet names in Open Wallet menu (Andrew Chow)2c530ea2adHTML escape address labels in more dialogs and notifications (Andrew Chow)1770a972d4HTML escape the wallet name in more dialogs and notifications (Andrew Chow)bdd6a4fd5dqa: Check scantxoutset result against gettxoutsetinfo (João Barbosa)fc0c410d6erpc: Improve scantxoutset response and help message (João Barbosa)4be3b7680erefactor: Cleanup walletinitinterface.h (Hennadii Stepanov)f091dc8180GUI: Remove unused menu items for Windows and Linux (GChuf)0ba08020c9Disconnect peers violating blocks-only mode (Suhas Daftuar)937eba91e1doc: improve comments relating to block-relay-only peers (Suhas Daftuar)430f489027Don't relay addr messages to block-relay-only peers (Suhas Daftuar)3a5e885306Add 2 outbound block-relay-only connections (Suhas Daftuar)b83f51a4bbAdd comment explaining intended use of m_tx_relay (Suhas Daftuar)e75c39cd42Check that tx_relay is initialized before access (Suhas Daftuar)c4aa2ba822[refactor] Change tx_relay structure to be unique_ptr (Suhas Daftuar)4de0dbac9b[refactor] Move tx relay state to separate structure (Suhas Daftuar)26a93bce29Remove unused variable (Suhas Daftuar)613de61a04Add Create Wallet menu action (Andrew Chow)9b41cbb28fExpose wallet creation to the GUI via WalletController (Andrew Chow)78863e2900Add CreateWalletDialog to create wallets from the GUI (Andrew Chow)60adb21c7aOptionally allow AskPassphraseDialog to output the passphrase (Andrew Chow)bc6d8a3662gui: Refactor OpenWalletActivity (João Barbosa)0065ead5ebcontrib: guix: Remove ssp spec file hack (Carl Dong)0093a5869acontrib: guix: More robust search paths, add checks (Carl Dong)5ce822efbeConservatively accept RBF bumps bumping one tx at the package limits (Matt Corallo)39034f1ee6Refactor rawtransaction_util's SignTransaction to have previous tx parsing be separate (Andrew Chow)3109a1f948refactor: Avoid locking cs_main in ProcessNewBlockHeaders (João Barbosa)442a87cc0aAdd a test wallet_reorgsrestore (Antoine Riard)40ede992d9Modify wallet tx status if has been reorged out (Antoine Riard)7e89994133Remove SyncTransaction for conflicted txn in CWallet::BlockConnected (Antoine Riard)a31be09bfdEncapsulate tx status in a Confirmation struct (Antoine Riard)2457aea83cAssert that the HRP is lowercase in Bech32::Encode (Samuel Dobson)fae91a09c4test: Remove incorrect and unused try-block in assert_debug_log (MarcoFalke)3d0a82cff8devtools: Accomodate block-style copyright blocks (Ben Woosley)0ef0e51fe4lint: Bump flake8 to 3.7.8 (Ben Woosley)838920704alint: Disable flake8 W504 warning (Ben Woosley)b21680baf5test/contrib: Fix invalid escapes in regex strings (Ben Woosley)490da639cbMake lint-includes.sh work from any directory (Kristaps Kaupe)dcc448e3d2Avoid unnecessary "Synchronizing blockheaders" log messages (Jonas Schnelli)fa61365a13wallet: Translate all initErrors in CreateWalletFromFile (MarcoFalke)fa70d199d0util: Make util/error bilingual_str (refactor) (MarcoFalke)057fac3453gui: Update English source translation (Wladimir J. van der Laan)072f37a7edgui: Update transifex slug for 0.19 (Wladimir J. van der Laan)9965940e35doc: Add release note for the new gettransaction argument (darosior)b8b3f0435atests: Add a new functional test for gettransaction (darosior)7f3bb247a8gettransaction: add an argument to decode the transaction (darosior)9b92538adeRemove unused fScriptChecks parameter from CheckInputs (Matt Corallo)0bb33b5348qt: Replace objc_msgSend with native syntax (Hennadii Stepanov)8340763dc3Check for codespell in lint-spelling.sh (Kristaps Kaupe)d9d8984270wallet: Use wallet name instead of pointer on unload/release (João Barbosa)635e9154da[qt] Change uninstall icon on Windows (GChuf)8b6f5aabb9qt: Replace QFontMetrics::width() with TextWidth() (Hennadii Stepanov)798a589affwallet: extract PubKey from P2PK script with Solver (Sebastian Falbesoner)fa0b910486[doc] chain: Declare BLOCK_VALID_HEADER reserved (MarcoFalke)c53667764eqt: Remove obsolete QModelIndex::child() (Hennadii Stepanov)d48c1e837aAdd window final block height to getchaintxstats (Jonathan "Duke" Leto)0912134039qt: Remove QSignalMapper from TransactionView (Hennadii Stepanov)9e0c1d676cqt: Remove QSignalMapper from RPCConsole (Hennadii Stepanov)d75e704ac0Add log output during initial header sync (Jonas Schnelli)c6dd32da69qt: Replace obsolete functions of QDesktopWidget (Hennadii Stepanov)1260ecd812qt: Add TextWidth() wrapper (Hennadii Stepanov)d53d591230Added the bench_bitcoin project to the list automatically produced by the msvc-autogen python script. (Aaron Clauson)41d484d5c8doc: Delete stale URL in test README (Michael Folkson)2e1455c4a1Replace obsolete functions of QSslSocket (Hennadii Stepanov)fa27372e65ci: Move CCACHE_DIR and test_runner tmp dir into ./ci/scratch/ (MarcoFalke)fa60583d23ci: Pass down $MAKEJOBS to test_runner.py (MarcoFalke)f3b57f4a1cUnrecommend making config file owned by bitcoin (setpill)870d4152dfSet ProtectHome in systemd service file (setpill)639a416e37Chgrp config dir to bitcoin in systemd service (setpill)aded0528f0Improve clarity of systemd service file comments (setpill)1373fa7e3ddoc: add default bitcoin.conf locations (Chuf)9452802480doc: Tidy up shadowing section (João Barbosa)aff1c9c884Adds an option to msbuild common configuration to ignore linker warning 4221. This warning is for object files that do not include any symbols. The warning is harmless and occurs due to some classes that are *nix only having no source to compile for an msvc build. (Aaron Clauson)593ba696fbAdd warning messages to the debug window (Hennadii Stepanov)e4f4ea47eblint: Catch use of [] or {} as default parameter values in Python functions (practicalswift)25dd867150Avoid using mutable default parameter values (practicalswift)403e372407qa: Relax so that the subscriber is ready before publishing zmq messages (João Barbosa)71e08ab22dtest: add executable flag for wallet_watchonly.py (Sebastian Falbesoner)8a3b2eb175move-only: move coins statistics utils out of RPC (James O'Beirne)eb2d64b9e0doc: Add spacing to command in translation_process.md (Chuf)a64dbeffe4doc: Update labels in CONTRIBUTING.md (Hennadii Stepanov)92528c260eSupport serialization of std::vector<bool> (Pieter Wuille)66ad75472f[Doc] Add documentation for the new whitelist permissions (nicolas.dorier)abdfc5e89bqa: Test ZMQ notification after chain reorg (João Barbosa)aa2622a726qa: Refactor ZMQ test (João Barbosa)6bc1ff915ddoc: Add note regarding ZMQ block notification (João Barbosa)3d50fe2c1fscripts: move update-translations.py to maintainer-tools repo (fanquake)c295cba5a2depends: zeromq: disable draft classes and methods (fanquake)0072237b9edepends: xproto: configure flags cleanup (fanquake)6a8ada3a4fdepends: qrencode: configure flags cleanup (fanquake)86beb8cdc4depends: fontconfig: configure flags cleanup (fanquake)e656d95ec7depends: libxcb: configure flags cleanup (fanquake)e439388b35depends: libXau: configure flags cleanup (fanquake)74e3876989Release notes: add previously undocumented changes (David A. Harding)7e1634a927Release notes: edit previously-detached notes (David A. Harding)e7415a5a95Doc: move detached release notes into release-notes.md (David A. Harding)a4765bd77fgui: Ensure tx send error highlight is visible (bpay)2483266c59packages.md: document depends build targets (Russell Yanofsky)be27161ee4Clarify need to specify --prefix with depends (Russell Yanofsky)bca388db0dgui: remove unused PlatformStyle::TextColorIcon (fanquake)f7220e85fdbuild: update RapidCheck Makefile (Jon Atack)b9ee63c71bMake descriptor test deterministic (David Reikher)faebf62714rpc: Use Join helper in rpc/util (MarcoFalke)fa8cd6f9c1util: Add Join helper to join a list of strings (MarcoFalke)153d9dd9acrefactor: replace qLowerBound & qUpperBound with std:: upper_bound & lower_bound (fanquake)59373e3e94refactor: replace qSort with std::sort (fanquake)fea33cbbdfrefactor: replace qStableSort with std::stable_sort (fanquake)6011c9d72dQA: fix rpc_setban.py race (Jonas Schnelli)2dbfb37b40Fix Char as Bool in interfaces (Jeremy Rubin)c84ff23c6dbuild: ignore macOS make deploy artefacts & add them to clean-local (fanquake)17d178fb94doc: add release-notes for getmempoolentry weight field addition (fanquake)9c9cc2bd20qa: Add RPC tests for weight in mempool entry (Daniel Edgecumbe)54aaa7883cRPC: add weight to mempool entry output (Daniel Edgecumbe)b6e9ff8996build: Remove src/obj directory from repository (Wladimir J. van der Laan)8616c81f08doc: initial RapidCheck property-based testing documentation (Jon Atack)ffea41f530Enable all tests in feature_config_args.py (Hennadii Stepanov)66f5c17f8aUse CheckDataDirOption() for code uniformity (Hennadii Stepanov)7e33a18a34Fix datadir handling in bitcoin-cli (Hennadii Stepanov)b28dada374Fix datadir handling in bitcoin-qt (Hennadii Stepanov)50824093bbFix datadir handling in bitcoind (Hennadii Stepanov)740d41ce9fAdd CheckDataDirOption() function (Hennadii Stepanov)c1f325126cReturn absolute path early in AbsPathForConfigVal (Hennadii Stepanov)fa21737ba7ci: Add environment files for all settings (MarcoFalke)20ea9ef6ce[doc] mention whitelist is inbound, and applies to blocksonly (Sjors Provoost)6c27fa0f09scripts: remove github-merge.py (fanquake)b168dd30cfBugfix: QA: Run tests with UPnP disabled (Luke Dashjr)3b05f0f70fReformat p2p_permissions.py (nicolas.dorier)ce7eac3cb0[Fix] The default whitelistrelay should be true (nicolas.dorier)fa0119af22doc: Refer in rpcbind doc to the manpage (MarcoFalke)dc1bc1c503doc: Add ZMQ dependencies to Fedora build (Hennadii Stepanov)787c9ec0c3Additional tests for other failure cases (Andrew Chow)6e1ae58298Check error messages in descriptor tests (Andrew Chow)625534d7b1Give more errors for specific failure conditions (Andrew Chow)c325f619ddReturn an error from descriptor Parse that gives more information about what failed (Andrew Chow)a6c1fc3cd9build: echo prop tests status during build (Jon Atack)26d3fad109Add unmodified-but-with-checksum to getdescriptorinfo (Pieter Wuille)104b3a5069Factor out checksum checking from descriptor parsing (Pieter Wuille)d117f4541dAdd test for setban (nicolas.dorier)dc7529abf0[Fix] Allow connection of a noban banned peer (nicolas.dorier)faba46da07ci: Set --ansi in test_runner (MarcoFalke)fa27c55b05util: Move ResolveErrMsg to util/error (MarcoFalke)390874c722qt: Remove menu icons (Wladimir J. van der Laan)72eaab073btests: functional watch-only wallet tests (William Casarin)72ffbdc579doc: add release note for include_watchonly default changes (William Casarin)003a3c73c0rpcwallet: document include_watchonly default for watchonly wallets (William Casarin)a50d9e6c0brpcwallet: default include_watchonly to true for watchonly wallets (William Casarin)6576a8765fdoc: Improve versionbits.h documentation (Antoine Riard)f9d40ce7ebFix spelling error chache -> cache. (Nils Loewen)e78aaf41f4[docs] Add release notes for burying bip 9 soft fork deployments (John Newbery)8319e738f9[tests] Add coverage for the content of getblockchaininfo.softforks (James O'Beirne)0328dcdcfc[Consensus] Bury segwit deployment (John Newbery)1c93b9b31c[Consensus] Bury CSV deployment height (John Newbery)3862e473f0[rpc] Tidy up reporting of buried and ongoing softforks (John Newbery)faeacf3269ci: Add note that this assumes a fresh git clone (MarcoFalke)fa6cbdc3c9ci: Use ./ci/ on non-travis host (MarcoFalke)fa31bc35ebci: Remove dependence on travis, use it as fallback env (MarcoFalke)fa0aac0f43ci: Add retry (MarcoFalke)fafe78f6aeci: Rename .travis/ to ./ci/ (MarcoFalke)582d2cd747Cover UTXO set access with lock annotations (James O'Beirne)5693530685refactor: have CCoins* data managed under CChainState (James O'Beirne)fae6ab6aedrefactor: pcoinsTip -> CChainState::CoinsTip() (James O'Beirne)fa3c6575calint: Add false positive to python dead code linter (MarcoFalke)fa25668e1ctest: Test p2sh-witness and bech32 in wallet_import_rescan (MarcoFalke)fa79af2989test: Replace fragile "rng" with call to random() (MarcoFalke)fac3dcf7d0test: Generate one block for each send in wallet_import_rescan (MarcoFalke)37f2784952tests: Use colors and dots in test_runner.py output only if standard output is a terminal -- allows for using the test runner output as input to other programs (practicalswift)a2714a5c69Give QApplication dummy arguments (Andrew Chow)36f7697cf6doc: Fix typos in COPYRIGHT (Chuf)d6ac25bdd9autoconf: Sane --enable-debug defaults. (Carl Dong)c5b404e8f1Add functional tests for flexible whitebind/list (nicolas.dorier)d541fa3918Replace the use of fWhitelisted by permission checks (nicolas.dorier)ecd5cf7ea4Do not disconnect peer for asking mempool if it has NO_BAN permission (nicolas.dorier)e5b26deaaaMake whitebind/whitelist permissions more flexible (nicolas.dorier)7cd069d8efAdd test for AddTimeData (Martin Zumsande)fa4ee0ddf1build: Remove unused src/obj-test folder (MarcoFalke)14f7eec3bdrpc: Fix getblocktemplate CLI example (#16594) (Emil Engler)396385657cdescriptor: fix missed m_script_arg arg renaming in #14934 (fanquake)2e68ffaf20[doc] descriptor: explain GetPubKey() usage with cached public key (Sjors Provoost)2290269759scripted-diff: rename DescriptorImpl m_script_arg to m_subdescriptor_arg (Sjors Provoost)862cbf3966Add missing contributor to release notes (MeshCollider)3303124960build: disable libxcb extensions (fanquake)fa1e9c68a7travis: Bump timeout from 50 minutes to 90 (MarcoFalke)afc0966d72Moved and renamed hash256 from util.py to zmq_interface.py (Elichai Turkel)fa7789f731doc: Mention other ways to conserve memory on compilation (MarcoFalke)0481fa2584util: refactor upper/lowercase functions (Karl-Johan Alm)c8b53c3bea[wallet] Restore confirmed/conflicted tx check in SubmitMemoryPoolAndRelay() (John Newbery)214c4ecb9a[wallet] restore coinbase check in SubmitMemoryPoolAndRelay() (John Newbery)9063911017sipsorcery gitian key. (Aaron Clauson)6285a318d7Remove redundant WalletController::addWallet slot (Hennadii Stepanov)1f26328c1bdoc: Update Markdown syntax for bdb packages (Emil Engler)bf72b8a555build: disable libsecp256k1 benchmarks (fanquake)b7b9f6e4ceRemove p2pEnabled from Chain interface (Antoine Riard)61c5c64b31doc: Add historical release notes for 0.18.1 (Wladimir J. van der Laan)2f37163caftest: only include and init openSSL where it's actually used (fanquake)fa76285fddtest: Explain why -whitelist is used in feature_fee_estimation (MarcoFalke)faff85a69atest: Format feature_fee_estimation with pep8 (MarcoFalke)b2ea20d330doc: Fix grammar and punctuation in developer notes (Kristian Kramer)fa5a4cd813gui: Generate bech32 addresses by default (take 2, fixup) (MarcoFalke)fa8489a155test: Add test for BIP30 duplicate tx (MarcoFalke)77770d95e2test: Properly serialize BIP34 coinbase height (MarcoFalke)faf36838bdtest: Avoid hardcoding the chain name in combine_logs (MarcoFalke)fa8a1d7ba3test: Adapt test framework for chains other than "regtest" (MarcoFalke)68f546635dtest: Fix “local variable 'e' is assigned to but never used” (Ben Woosley)fab3658356[qa] Test that getdata requests work as expected (Suhas Daftuar)fa883ab35anet: Use mockable time for tx download (MarcoFalke)05fdb97df4[doc] Update and extend benchmarking.md (Antoine Riard)fa566b2601test: Add missing sync_blocks to feature_pruning (MarcoFalke)0a4e4a05ea[build] .gitignore add Qt Creator Makefile.am.user (Peter Bushnell)e6f649cb2ctest: Make tests arg type specific (Hennadii Stepanov)b70cc5d733Revamp option negating policy (Hennadii Stepanov)db08edb303Replace IsArgKnown() with FlagsOfKnownArg() (Hennadii Stepanov)dde80c272aUse ArgsManager::NETWORK_ONLY flag (Hennadii Stepanov)9a12733508Remove unused m_debug_only member from Arg struct (Hennadii Stepanov)fb4b9f9e3bscripted-diff: Use ArgsManager::DEBUG_ONLY flag (Hennadii Stepanov)1b4b9422cascripted-diff: Use Flags enum in AddArg() (Hennadii Stepanov)265c1b58d8Add Flags enum to ArgsManager (Hennadii Stepanov)e0d187dfebRefactor InterpretNegatedOption() function (Hennadii Stepanov)e0e18a1017refactoring: Check IsArgKnown() early (Hennadii Stepanov)fb62f128bbTidy up BroadcastTransaction() (John Newbery)b8eecf8e79Remove unused submitToMemoryPool and relayTransactions Chain interfaces (Antoine Riard)8753f5652bRemove duplicate checks in SubmitMemoryPoolAndRelay (Antoine Riard)611291c198Introduce CWalletTx::SubmitMemoryPoolAndRelay (Antoine Riard)8c8aa19b4bAdd BroadcastTransaction utility usage in Chain interface (Antoine Riard)d6b3640ac7[test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0 (Sjors Provoost)9ed062b568[doc] rpc: remove "fallback to" from RBF default help (Sjors Provoost)4fcb698bc2[rpc] walletcreatefundedpsbt: use wallet default RBF (Sjors Provoost)fa36aa4922Test: Set -acceptnonstdtxn in feature_fee_estimation (MarcoFalke)fa1bb53b0dtest: Add -acceptnonstdtxn to self.extra_args[3] (MarcoFalke)fa8a823169test: Bump rpc_timeout in feature_dbcrash (MarcoFalke)7a0c224289Suppress output in test_bitcoin for expected errors (Gert-Jaap Glasbergen)fac2e6a604test: Fail early on disconnect in mininode.wait_for_* (MarcoFalke)b078067b9cgui: Remove unused RPCConsole::tabFocus (João Barbosa)c5d3787367Allow createwallet to take empty passwords to make unencrypted wallets (Andrew Chow)0b1f4b3c66wallet: Drop unused OldKey (João Barbosa)fa2f991fa2doc: add note on precedence of options in bitcoin.conf (Torkel Rogstad)faf8318c55test: Split fundrawtx test into subtests (MarcoFalke)fa6fba3bc8test: Make local symbols in run_test members (MarcoFalke)9bc8b28c1drefactor : use RelayTransaction in BroadcastTransaction utility (Antoine Riard)73b692b531doc: Add release note for the deprecated totalFee option of bumpfee (João Barbosa)0646ca5ea2Changes the verbosity of msbuild from quiet to normal in the appveyor script. Increasing the verbosity helps to identify the cause of build errors which is the main purpose of the appveyor script. (Aaron Clauson)80ba4241a6extract min & max depth onto coin control (Amiti Uttarwar)05b56d1c93[wallet] Remove CMerkleTx serialization logic (John Newbery)783a76f23b[wallet] Flatten CWalletTx class hierarchy (John Newbery)b3a9d179f2[wallet] Move CMerkleTx functions into CWalletTx (John Newbery)0000ff0aa7txmempool: Remove unused default value MemPoolRemovalReason::UNKNOWN (MarcoFalke)0c78e49be3tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) (practicalswift)29ee4c417dSpecify AM_CPPFLAGS for ZMQ. (Daniel Kraft)e0324c3768Updated python command in readme so it will work on systems that have both python2 and 3 installed. (Aaron Clauson)914923d125Add setting as known type (Peter Bushnell)faa88d0b5cdoc: update labels in CONTRIBUTING.md (MarcoFalke)fa6f22bf44wallet: Rename CWalletKey to OldKey (MarcoFalke)fa6dc7fa5fwallet: Enumerate walletdb keys (MarcoFalke)62d3f5057fqa: fix deprecated log.warn in feature_dbcrash test (Jon Atack)42a5e912ee[mempool] log correct messages when CPFP fails (John Newbery)4057b7acb7wallet: Recognize -disablewallet option early (Hennadii Stepanov)59cb722fd0Update configure to reject unsafe miniUPnPc API ver (Hennadii Stepanov)ab2190557edoc: Add release notes for 15993 (Hennadii Stepanov)02709e9560Align formatting with clang-format (Hennadii Stepanov)91a1b85083Use PACKAGE_NAME in UPnP description (Hennadii Stepanov)9f76e45b9dDrop support of insecure miniUPnPc versions (Hennadii Stepanov)e967cae8faUse switch on status in RpcWallet (Fabian Jahr)ba1f128d6cReturn error for ignored passphrase through disable private keys option (Fabian Jahr)d6649d16b5Use strong enum for WalletCreationStatus (Fabian Jahr)3199610ad3Place out args at the end for CreateWallet (Fabian Jahr)f509e3b8cedoc: remove line numbers from qt package links (fanquake)1bb1661a40doc: fix typo in bitcoin_qt.m4 comment (fanquake)0aeb98ac1fbuild: remove jpeg lib check from bitcoin_qt.m4 (fanquake)98a64bd296build: disable libjpeg in qt (fanquake)07e01d6258rpc: sendrawtransaction unconditionality/privacy note (Jon Atack)fabfcb5d8ebuild: Treat -Wswitch as error when --enable-werror (MarcoFalke)16b3748189Trivial: add missing space (David A. Harding)bf3be5297a[qa] Ensure we don't generate a too-big block in p2sh sigops test (Suhas Daftuar)a33936737fExclude depends/Makefile in .gitignore (João Barbosa)35e60e790fRemove ReadVersion and WriteVersion (Andrew Chow)b3d4f6c961Log the actual wallet file version (Andrew Chow)c88e87c3b2Remove nFileVersion from CWalletScanState (Andrew Chow)4d94916f0dGet rid of PendingWalletTx class. (Russell Yanofsky)fa4a605a4cRemove wallet settings from chainparams (MarcoFalke)2f7eb772f6Add RPC bumpfee totalFee deprecation test (Jon Atack)a92d9ce8cfdeprecate totalFee argument in bumpfee RPC call (Gregory Sanders)40ad2f6a58Have importwallet use ImportPrivKeys and ImportScripts (Andrew Chow)78941da5baOptionally allow ImportScripts to set script creation timestamp (Andrew Chow)94bf156f39Have importaddress use ImportScripts and ImportScriptPubKeys (Andrew Chow)a00d1e5ec5Have importpubkey use CWallet's ImportScriptPubKeys and ImportPubKeys functions (Andrew Chow)c6a8274247Have importprivkey use CWallet's ImportPrivKeys, ImportScripts, and ImportScriptPubKeys (Andrew Chow)fae7a5befdLog when an import is being skipped because we already have it (Andrew Chow)ab28e31c95Change ImportScriptPubKeys' internal to apply_label (Andrew Chow)248e22bbc0depends: disable unused Qt features (fanquake)d9ab0ffa38[qa] Fix race condition in example_test.py (Suhas Daftuar)77773edf21doc: Remove downgrading warning in release notes, per 0.18 branch (MarcoFalke)a47df13471[qa] Test disconnect block failure -> shutdown (Suhas Daftuar)4433ed0f73[validation] Crash if disconnecting a block fails (Suhas Daftuar)753f7ccccescripted-diff: Make translation bilingual (Hennadii Stepanov)7c45e14f2fAdd bilingual message type (Hennadii Stepanov)0b86e517adRefactor out translation.h (Hennadii Stepanov)c3dfc91032test: Skip flaky p2p_invalid_messages test on macOS (Fabian Jahr)fa6f402bdeCall node->initError instead of InitError from GUI code (Russell Yanofsky)fad2502240init: Use InitError for all errors in bitcoind/qt (MarcoFalke)0c55d8b581depends: qt: Patch to remove dep on libX11 (Carl Dong)222e6cc520gitignore: Actually pay attention to depends patches (Carl Dong)65f8da08dfsymbol-check: Disallow libX11-*.so.* shared libraries (Carl Dong)924569914edepends: libXext isn't needed by anyone (Carl Dong)689d3b4a03build-aux: Remove check for x11-xcb (Carl Dong)aa53cb7a2fdepends: libX11: Make package headers-only (Carl Dong)9a01ab04e1depends: qt: Explicitly stop using Xlib/libX11 (Carl Dong)1ec30b8fbedepends: xproto is only directly needed by libXau (Carl Dong)4f050b91c7move-onlyish: move CCoinsViewErrorCatcher out of init.cpp (James O'Beirne)fa56b21c74doc: Update bips 35, 37 and 111 status (MarcoFalke)fa4010e112travis: Print memory and number of cpus (MarcoFalke)50cede3f5a[mempool] Allow one extra single-ancestor transaction per package (Matt Corallo)a52818cc56net: Make poll in InterruptibleRecv only filter for POLLIN events. poll should block until there is data to be read or the timeout expires. (tecnovert)5c3c24cf9etest: remove redundant setup in addrman_tests (zenosage)bead32e31eAdd release notes for DEFAULT_BLOOM change (Matt Corallo)f27309f55cMove DEFAULT_PEERBLOOMFILTERS from validation.h to net_processing.h (Matt Corallo)5efcb77283Disable bloom filtering by default. (Matt Corallo)024ecd7e01QA: Fix race condition in wallet_encryption test (Jonas Schnelli)ae311bc036Fix autostart filenames on Linux (Hennadii Stepanov)a981e749e6fix: tor: Call event_base_loopbreak from the event's callback (João Barbosa)e142ee03e7doc: describe how to pass wildcard names to test runner (Jon Atack)6a7a70b8cftest: enable passing wildcards with path to test runner (Jon Atack)e10e1e8db0Restrict lifetime of ReserveDestination to CWallet::CreateTransaction (Gregory Sanders)d9ff862f2dCreateTransaction calls KeepDestination on ReserveDestination before success (Gregory Sanders)fa89badf88test: Require standard txs in regtest (MarcoFalke)fa9b419160test: Add test that mainnet requires standard txs (MarcoFalke)fa613ca0a8chainparams: Remove unused fMineBlocksOnDemand (MarcoFalke)682a1d0f20refactoring: remove mapBlockIndex global (James O'Beirne)55d525ab90refactoring: make pindexBestInvalid internal to validation.cpp (James O'Beirne)4ed55dfcd7refactoring: add block_index_candidates arg to LoadBlockIndex (James O'Beirne)613c46fe9erefactoring: move block metadata structures into BlockManager (James O'Beirne)1a62425260qa: Add --filter option to test_runner.py (João Barbosa)fa0d0ff6e1Remove unused bits from the service flags enum (MarcoFalke)c7f6ce74d3docs: Improve netbase comments (Carl Dong)8f250ab788TEST: Replace hard-coded hex tx with classes (Steven Roose)e263a343d4test: rpc_users: Make variable names more clear. (Carl Dong)830dc2dd0ftest: rpc_users: Also test rpcauth.py with specified password. (Carl Dong)c73d871799test: rpc_users: Add function for testing auth params. (Carl Dong)604e2a997ftest: rpc_users: Add function for auth'd requests. (Carl Dong)751549b52acontrib: guix: Additional clarifications re: substitutes (Carl Dong)cd3e947f50contrib: guix: Various improvements. (Carl Dong)8dff3e48a9contrib: guix: Clarify SOURCE_DATE_EPOCH. (Carl Dong)3e80ec3ea9contrib: Add deterministic Guix builds. (Carl Dong)93ce4a0b6fMove WatchOnly stuff from SigningProvider to CWallet (Andrew Chow)8f5b81e6edRemove CCryptoKeyStore and move all of it's functionality into CWallet (Andrew Chow)37a79a4fccMove various SigningProviders to signingprovider.{cpp,h} (Andrew Chow)16f8096e91Move KeyOriginInfo to its own header file (Andrew Chow)d9becff4e1scripted-diff: rename CBasicKeyStore to FillableSigningProvider (Andrew Chow)a913e3f2fbMove HaveKey static function from keystore to rpcwallet where it is used (Andrew Chow)c7797ec655Remove CKeyStore and squash into CBasicKeyStore (Andrew Chow)1b699a5083Add HaveKey and HaveCScript to SigningProvider (Andrew Chow)bb326add9fAdd ChaCha20Poly1305@Bitcoin AEAD benchmark (Jonas Schnelli)99aea045d6Add ChaCha20Poly1305@Bitcoin tests (Jonas Schnelli)af5d1b5f4aAdd ChaCha20Poly1305@Bitcoin AEAD implementation (Jonas Schnelli)1aecdf2063Move wallet creation out of the createwallet rpc into its own function (Andrew Chow)96b6dd468aRemove redundant pre-TopUpKeypool checks (Gregory Sanders)0d101a340ctest: Add test for maxtxfee option (MarcoFalke)177550101bwallet: Remove unreachable code in CreateTransaction (MarcoFalke)5c1b9714cbwallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction (João Barbosa)0512f0521adepends: expat 2.2.7 (fanquake)84edfc72e5Update doc and CI config (qmma)48bcb2ac24Disable other targets when enable-fuzz is set (qmma)8e7f930828Add GetNewChangeDestination for getting new change Destinations (Andrew Chow)33d13edd2bReplace CReserveKey with ReserveDestinatoin (Andrew Chow)172213be5bAdd GetNewDestination to CWallet to fetch new destinations (Andrew Chow)b6fb617aaarpc: switch to using RPCHelpMan.Check() (Karl-Johan Alm)c7a9fc234fMake the RPCHelpMan aware of JSONRPCRequest and add Check() helper (Karl-Johan Alm)5c5e32bbe3rpc: migrate JSONRPCRequest functionality into request.cpp (Karl-Johan Alm)0ab8ba1ac6rpc: fix RPC help requirements for getblocktemplate (Karl-Johan Alm)64fee48944qt: Assert QMetaObject::invokeMethod result (João Barbosa)f27bd96b5fgui: Fix missing qRegisterMetaType(WalletModel*) (João Barbosa)e1a55690e6Delete error-prone CScript constructor (Gregory Sanders)c4606b8432Add Travis check for single parameter constructors not marked "explicit" (practicalswift)91509ffe24bench: Benchmark blockToJSON (Kirill Fomichev)fa64b947bbutil: No translation of `Bitcoin Core` in the copyright (MarcoFalke)fab85208f6qt: Run «make translate» in ./src/ (MarcoFalke)fabe87d2c9scripted-diff: Avoid passing PACKAGE_NAME for translation (MarcoFalke)fa5e9f157ebuild: Stop translating PACKAGE_NAME (MarcoFalke)fa90fe6440refactor: Rename getWallets to getOpenWallets in WalletController (João Barbosa)224eb9534agui: Sort wallets in open wallet menu (João Barbosa)7195fa792ftest: Tool wallet test coverage for unexpected writes to wallet (Jon Atack)3bf2b3a37btest: Split tool_wallet.py test into subtests (Jon Atack)1eb13f09a9test: Add log messages to test/functional/tool_wallet.py (Jon Atack)e8fabd9253build: prune dbus from depends (fanquake)a30bd09454Add logpath description for getrpcinfo (Gregory Sanders)84ad4d2b9ddoc: Include static members in Doxygen (Carl Dong)64b27c46e4docs: add reduce-memory.md (fanquake)d003110351Remove unused guard (Hennadii Stepanov)976b034b13[build]: use #if HAVE_SYSTEM instead of defined(HAVE_SYSTEM) (Sjors Provoost)91cc18f602[docs] Add release notes for PR 15427 (John Newbery)3b11420b3c[RPC] add new utxoupdatepsbt arguments to the CRPCCommand and CPRCConvertParam tables (John Newbery)f874e14cd3[build]: check std::system for -[alert|block|wallet]notify (Sjors Provoost)cc3ad56ff2[build] MSVC: set HAVE_SYSTEM for desktop apps (Sjors Provoost)c1c91bb78d[build] detect std::system or ::wsystem (Sjors Provoost)08c721dab2[MSVC] Copy build output to src/ automatically after build (nicolas.dorier)1ac454a384Enable ShellCheck rules (Hennadii Stepanov)88fd556a96Use placeholder instead of key expiration date (Hennadii Stepanov)faf6caf4datest: Add tests for getblockchaininfo.softforks (MarcoFalke)3d60a03a7cbench: Move generated data to a dedicated translation unit (João Barbosa)fab0c820farpc: Clarify that block count means height excl genesis (MarcoFalke)8a6810d0d2Add a 'logpath' field to getrpcinfo (darosior)0f459d868dfix an undefined behavior in uint::SetHex (Kaz Wesley)faa1e0fb17qt: test: Create at most one testing setup (MarcoFalke)f53a70ce95Improve documentation of memory_cleanse() (Tim Ruffing)cac30a436cClean up logic in memory_cleanse() for MSVC (Tim Ruffing)3b9bf0eb0erpc: Allow shutdown while in generateblocks (Patrick Strateman)01174596e6signrawtransactionwithkey: report error when missing redeemScript/witnessScript param (Anthony Towns)db26e8e228Add antialiasing to traffic graph widget (Josu Goñi)ca11606858Fix: "Bitcoin Core" -> "The Bitcoin Core" (Hennadii Stepanov)621463d7dfDrop no-longer-relevant copyright holder name (Hennadii Stepanov)01fafe55a1Include Objective-C source files (Hennadii Stepanov)26fe9b9909Add support for descriptors to utxoupdatepsbt (Pieter Wuille)3135c1a2d2Abstract out UpdatePSBTOutput from FillPSBT (Pieter Wuille)fb90ec3c33Abstract out EvalDescriptorStringOrObject from scantxoutset (Pieter Wuille)eaf4f88734Abstract out IsSegWitOutput from utxoupdatepsbt (Pieter Wuille)fa2b083c3f[test] Add test to check mempool consistency in case of reorgs (MarcoFalke)fabeb1f613validation: Add missing mempool locks (MarcoFalke)fa0c9dbf91txpool: Make nTransactionsUpdated atomic (MarcoFalke)276972cb95wallet_bumpfee.py: Make sure coin selection produces change (Gregory Sanders)d9753383b9addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests. (practicalswift)806b0052c3[wallet] abort when attempting to fund a transaction above maxtxfee (Sjors Provoost)c83f0ac9b2[MSVC] allow user level project customization (nicolas.dorier)63d0a079e0build: dont compile rapidcheck with -Wall (fanquake)fa815255c7test: Add missing sync_all to wallet_balance test (MarcoFalke)90b5c4eefbdoc: Fix broken link in doc/build-osx.md (Jon Atack)dbd137a4eaImprove build-osx formatting (Giulio Lombardo)819c5ddad3[MSVC] Enable Fuzz for functional tests (nicolas.dorier)e47e79377f[MSVC]: Create the config.ini as part of bitcoind build (nicolas.dorier)fa69c3e6cautil: Explain why the path is cached (MarcoFalke)9a841696c1tests: Reduce compilation time and unneccessary recompiles by removing unused includes in tests (practicalswift)f466c4ce84Add missing ECC_Stop(); in GUI rpcnestedtests.cpp (Jonas Schnelli)9824a0d6e9Remove extra CBlockIndex declaration (RJ Rybarczyk)d8bd97d5eeFix GCC 7.4.0 warning (Hennadii Stepanov)f724f31401Make AbortNode() aware of MSG_NOPREFIX flag (Hennadii Stepanov)96fd4ee02fAdd MSG_NOPREFIX flag for user messages (Hennadii Stepanov)f0641f274fPrepend the error/warning prefix for GUI messages (Hennadii Stepanov)fabc57e07dtest: Log to debug.log in all tests (MarcoFalke)fa4a04a5a9test: use common setup in gui tests (MarcoFalke)fad3d2a624test: Create data dir in BasicTestingSetup (MarcoFalke)30ea931deedepends: xtrans: Configure flags cleanup. (Carl Dong)dddd9270f8net: Document what happens to getdata of unknonw type (MarcoFalke)0e01e4522edevtools: Fetch and display ACKs at sign-off time in github-merge (Wladimir J. van der Laan)099e4b9ad3Set AA_EnableHighDpiScaling attribute early (Hennadii Stepanov)a2aabfb749Use qInfo() if no error occurs (Hennadii Stepanov)5224be5a33gui: Fix open wallet menu initialization order (João Barbosa)71d0344cf2docs: release note wording (Karl-Johan Alm)3d2ff37913wallet/rpc: use static help text (Karl-Johan Alm)53c3c1ea9ewallet/rpc/getbalances: add entry for 'mine.used' balance in results (Karl-Johan Alm)5a88ea7c67doc: remove orphaned header in developer notes (Jon Atack)e61de6306fChange ismine to take a CWallet instead of CKeyStore (Andrew Chow)7c611e2000Move ismine to wallet module (Andrew Chow)a49503402bMake and get the multisig redeemscript and destination in one function instead of two (Andrew Chow)eb832cd3b4MSVC: Fix error in debug mode (Fix #16245) (nicolas.dorier)9218ce8d48Failing functional tests stop lcov (Aseem Sood)fa7dd88b71test: Add test for unknown args (MarcoFalke)fa00326158ci: Run extended tests (MarcoFalke)e91f0a7af2doc: Remove travis badge from readme (MarcoFalke)4971be76a7docs: add rapidcheck to vcpkg install list (fanquake)750d1bc7dfCleaned up and consolidated msvc build files to allow faster builds and easier migration to vs2019. (Aaron Clauson)5ebc6b0eb2bitcoind: update -avoidpartialspends description to account for auto-enable for avoid_reuse wallets (Karl-Johan Alm)ada258f8c8doc: release notes for avoid_reuse (Karl-Johan Alm)27669551dawallet: enable avoid_partial_spends by default if avoid_reuse is set (Karl-Johan Alm)8f2e208f7ctest: add test for avoidreuse feature (Karl-Johan Alm)0bdfbd34cfwallet/rpc: add 'avoid_reuse' option to RPC commands (Karl-Johan Alm)f904723e0dwallet/rpc: add setwalletflag RPC and MUTABLE_WALLET_FLAGS (Karl-Johan Alm)8247a0da3awallet: enable avoid_reuse feature (Karl-Johan Alm)eec15662fawallet: avoid reuse flags (Karl-Johan Alm)58928098c2wallet: make IsWalletFlagSet() const (Karl-Johan Alm)129a5bafd9wallet: rename g_known_wallet_flags constant to KNOWN_WALLET_FLAGS (Karl-Johan Alm)fa410f67aatest: Suppress false positive leak in secure_allocator<RNGState> (MarcoFalke)fa35c4239ftest: Log output even if fuzzer failed (MarcoFalke)0959d37e3eDon't use global (external) symbols for symbols that are used in only one translation unit (practicalswift)faa2a47cd7logging: Add threadsafety comments (MarcoFalke)0b282f9b00Log early messages with -printtoconsole (Anthony Towns)412987430cReplace OpenDebugLog() with StartLogging() (Anthony Towns)8a2656702btorcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently (Luke Dashjr)86b47fa741speed up Unserialize_impl for prevector (Akio Nakamura)8053e5cdadRemove -mempoolreplacement to prevent needless block prop slowness. (Matt Corallo)fa499b5f02rpc: bugfix: Properly use iswitness in converttopsbt (MarcoFalke)fa5c5cd141rpc: Switch touched RPCs to IsValidNumArgs (MarcoFalke)f8995807e4tests: Make coins_tests/updatecoins_simulation_test deterministic (practicalswift)71fd628adaAdd example 2nd arg to signrawtransactionwithkey (Chris Moore)fa1d766717tests: Make msg_block a witness block (MarcoFalke)fa52eb55c9test: Remove True argument to CBlock::serialize (MarcoFalke)c59e3a3261getrawtransaction: inform about blockhash argument when lookup fails (darosior)fa8f195195Replace remaining fprintf with tfm::format manually (MarcoFalke)fac03ec43ascripted-diff: Replace fprintf with tfm::format (MarcoFalke)fa72a64b90tinyformat: Add doc to Bitcoin Core specific strprintf (MarcoFalke)fa55dd89cbdoc: Add release notes for 14897 & 15834 (MarcoFalke)fac5ddfc57doc: Rework section on ACK (MarcoFalke)b748bf6f50Fix spelling errors identified by codespell 1.15.0 (Ben Woosley)fa4bc4ebf9doc: Remove explicit mention of version from SECURITY.md (MarcoFalke)88884c6f75travis: Use absolute paths for cache dirs (MarcoFalke)fae9d54abctravis: Fix caching issues (MarcoFalke)067fba5631devtools: Always use unabbreviated commit IDs in github-merge.py (Wladimir J. van der Laan)f402012ccffixup: Fix prunning test (João Barbosa)97f517dd85Fix RPC/pruneblockchain returned prune height (Jonas Schnelli)75485ef096gui: Enable open wallet menu on setWalletController (João Barbosa)308b76732fFix bug around transaction requests (Suhas Daftuar)f635a3ba11Expire old entries from the in-flight tx map (Suhas Daftuar)e32e08407eRemove NOTFOUND transactions from in-flight data structures (Suhas Daftuar)23163b7593Add an explicit memory bound to m_tx_process_time (Suhas Daftuar)218697b645Improve NOTFOUND comment (Suhas Daftuar)993aa414d3scripted-diff: gitian: Use REFERENCE_DATETIME directly. (Carl Dong)c061be1e2ftests: Mark unit test blockfilter_index_initial_sync as non-deterministic (practicalswift)d7c0542777doc: update release process with SECURITY.md (Jon Atack)e4e2b28cf1doc: clarify support in SECURITY.md (Jon Atack)8081927c33scripts: add key for fanquake to trusted keys list (fanquake)53b7de629dAdd test for dumping the private key imported from descriptor (MeshCollider)2857bc4a64Extend importmulti descriptor tests (MeshCollider)81a884bbd0Import private keys from descriptor with importmulti if provided (MeshCollider)a4d1bd1a29Add private key derivation functions to descriptors (MeshCollider)bc8863b819depends: remove usage of TAR_OPTIONS (fanquake)3ff1f2a319build: remove export GZIP from gitian descriptors (fanquake)67f4e9c522Include core_io.h from core_read.cpp (practicalswift)eca9767673Make reasoning about dependencies easier by not including unused dependencies (practicalswift)2620e24b83[depends] boost: update to 1.70 (Sjors Provoost)78f9b5160fDo not show list for the only recipient. (Hennadii Stepanov)2ee756f041Show recipient list as detailedText of QMessageBox (Hennadii Stepanov)654e419549Make SendConfirmationDialog fully fledged (Hennadii Stepanov)a352d2ae5fDon't GPG sign intermediate commits with github-merge tool (Steven Roose)8be3f30633netaddress: Update CNetAddr for ORCHIDv2 (Carl Dong)8541cbea29depends: libX*: --disable-malloc0returnsnull in conf (Carl Dong)0e752637a2depends: libXext: Bump to 1.3.3 to fix _XEatDataWords (Carl Dong)683b7d7a3fdepends: Purge libtool archives (Carl Dong)14209286dfdepends: Build secondary deps statically. (Carl Dong)fdd7fa19a9docs: create security policy (Neha Narula)58e291cfadAdd test for GCC bug 90348 (Pieter Wuille)7860c98bd5wallet: do not encrypt wallets with disabled private keys (whythat)403e677c9erefactoring: IsInitialBlockDownload -> CChainState (James O'Beirne)3ccbc376ddrefactoring: FlushStateToDisk -> CChainState (James O'Beirne)4d6688603brefactoring: introduce ChainstateActive() (James O'Beirne)d7c97edeeamove-only: make the CChainState interface public (James O'Beirne)6f7f141f77Add riscv64 to outputs list in release-process.md (JeremyRand)3c5254a820Limit Python linting to files in the repo (practicalswift)6e6494b3fbqt: fix opening bitcoin.conf via Preferences on macOS; see #15409 (shannon1916)36b0a2f2a6Add vertical spacer (Josu Goñi)2d8ad2f997gui: Enable console line edit on setClientModel (João Barbosa)d2ae6be80fgui: Set progressDialog to nullptr (João Barbosa)00fade007ccontrib: use newer config.guess & config.sub in install_db4.sh (fanquake)0830d40456docs: add release note for 14954 (fanquake)54245985fbSquashed 'src/secp256k1/' changes from 0b70241850..b19c000063 (Pieter Wuille)5fbc67e108Squashed 'src/secp256k1/' changes from 43dd1f4fe7..0129b77767 (Andrew Poelstra)fa013664aeutil: Add type safe GetTime (MarcoFalke)c995c870aadepends: add ability to skip building zeromq (fanquake)fadbc5d895mempool: remove unused magic number from consistency check (Gregory Sanders)d5dc66e280doc: fix/improve analyzepsbt in doc/psbt.md (Jon Atack)d595b4aae9gui: move coin control OK to the right (fanquake)0db94e55dcwallet: Pass WalletBatch to CWallet::UnsetWalletFlag (João Barbosa)6cb888b37dApply the batch treatment to CWallet::SetAddressBook via ImportScriptPubKeys (Ben Woosley)6154a09e01Move some of ProcessImport into CWallet::Import* (Ben Woosley)ccb26cf347Batch writes for importmulti (Andrew Chow)d6576e349eHave WalletBatch automatically flush every 1000 updates (Andrew Chow)366fe0be0bAdd AddWatchOnlyWithDB, AddKeyOriginWithDB, AddCScriptWithDB functions (Andrew Chow)97dce72261contrib: add curl as a required program in gitian-build.py (fanquake)ae7faf20d5Exceptions should be caught by reference, not by value. (Kristaps Kaupe)fb434159d1Remove global symbols: Avoid using the global namespace if possible (practicalswift)480e3415d7configure: Add flag for enabling thread_local. (Carl Dong)fa47330397test: Speed up cache creation (MarcoFalke)fa6ad7a5ectest: Bump MAX_NODES to 12 (MarcoFalke)0784af16efremove parameters -addresstype=legacy in rpc_rawtransaction test (LongShao007)a65dafa8f1replace tx hash with txid in test rawtransaction (LongShao007)8afca323e3doc: add bitcoin_config.h PACKAGE updates to release process (Jon Atack)3ee28c506dbuild: bump bitcoin_config.h packages to v0.18 (Jon Atack)9f85e9cb3dscripted-diff: Rename LockAnnotation to LockAssertion (practicalswift)de9b5dbca3Make sure the compile-time locking promises given via LockAnnotation:s hold also in practice at runtime (ifdef DEBUG_LOCKORDER) (practicalswift)3a809446b3Move LockAnnotation to make it reflect the truth (practicalswift)cc2588579cMove LockAnnotation from threadsafety.h (imported code) to sync.h (our code) (practicalswift)e23809a05b[rpc] deriveaddresses: Correct descriptor checksum in RPCExamples (Chris Capobianco)bb41e632cawallet_balance.py: Prevent edge cases (Steven Roose)be4efb165arpc: Mention getwalletinfo where a rescan is triggered (João Barbosa)df9e15f092refactor: Improve CRollingBloomFilter::reset by using std::fill (João Barbosa)d2dbc7da26bench: Add benchmark for CRollingBloomFilter::reset (João Barbosa)1609809fb2validation: Hold cs_main when reading chainActive in RewindBlockIndex (practicalswift)d8bc47fde4depends: switch to secure download of all dependencies (Ulrich Kempken)df0e97ccb1RPC: Hint for importmulti in help output of importpubkey and importaddress (Kristaps Kaupe)2c448d6bc7parameterize hard coded numbers referring to miner conf window (Jordan Baczuk)e0eae1b4a4Make --setup command independent (Hennadii Stepanov)0f22a0cf2fFix gitian-build.py --verify option (Hennadii Stepanov)4c56a798c0Set/unset USE_LXC, USE_VBOX, USE_DOCKER explicitly (Hennadii Stepanov)cbbd98863bFix Docker related issues for gitian-build.py (Hennadii Stepanov)316b8b2339Filter IPv6 by ASN (Emil)fa2b52af32Disallow extended encoding for non-witness transactions (take 3) (MarcoFalke)4de3c15671depends: add patch to common dependencies (fanquake)0b09a57aecGive WalletModel::UnlockContext move semantics (Pieter Wuille)af5fa82b67Allow quicker shutdowns during LoadBlockIndex() (Jonas Schnelli)c3ef63a52fShow loaded wallets as disabled in open menu instead of nothing (MeshCollider)3cb9ce85d0Document strenghtening (Pieter Wuille)1d207bc46fAdd hash strengthening to the RNG (Pieter Wuille)feed98e189Ensure repos are up-to-date (Hennadii Stepanov)faede747b3doc: Explain how to pass in non-fundamental types into functions (MarcoFalke)fa86c8aec6init: Remove dead code in LoadChainTip (MarcoFalke)9402ef0739Remove temporary method assumeLocked(). Remove LockingStateImpl. Remove redundant cs_main locks. (practicalswift)593a8e8a2cwallet: Use chain.lock() instead of temporary chain.assumeLocked() (practicalswift)41ab2a8924fix static_assert for macro HAVE_THREAD_LOCAL (orient)01971da9bddocs: Add productivity notes for "dummy rebases" (Carl Dong)8794a4b3aeQA: add test for HKDF HMAC_SHA256 L32 (Jonas Schnelli)551d489416Add HKDF HMAC_SHA256 L=32 implementations (Jonas Schnelli)3b64f852e4QA: add test for CKey::Negate() (Jonas Schnelli)463921bb64CKey: add method to negate the key (Jonas Schnelli)fa8ced32a6doc: Mention blocksonly in reduce-traffic.md, unhide option (MarcoFalke)fa320de79ftest: Add test for p2p_blocksonly (MarcoFalke)fa3872e7b4test: Format predicate source as multiline on error (MarcoFalke)fa1dce7329net: Rename ::fRelayTxes to ::g_relay_txes (MarcoFalke)662d1171d9Add option to create an encrypted wallet (Andrew Chow)fa7e311e16[doc] rpcwallet: Only fail rescan when blocks have been pruned (MarcoFalke)aaaa57c2aascripted-diff: Bump copyright headers in wallet (MarcoFalke)faf3729242wallet: Only fail rescan when blocks have actually been pruned (MarcoFalke)f3b90f2e05Run all lint scripts (Julian Fleischer)c01c065b9dDo not construct out-of-bound pointers in SHA512/SHA1/RIPEMD160 code (Pieter Wuille)1b05dff080Fix portability issue with pthreads (grim-trigger)faf38bc056build with -fstack-reuse=none (MarcoFalke)fad0ce59e9tests: Fail if RPC has been added without tests (MarcoFalke)2d5cf4c41drpc: Speedup getrawmempool when verbose=true (João Barbosa)f1a77b0c51[docs] Add doxygen comment for CReserveKey (John Newbery)37796b2dd4[docs] Add doxygen comment for CKeyPool (John Newbery)ef2d515af3[wallet] move-only: move CReserveKey to be next to CKeyPool (John Newbery)a407b6fdf3[tests] Make random seed logged and settable (John Newbery)f6bb11fd37Add test for ArgsManager::GetChainName (Russell Yanofsky)4b331159dfAdd unit test NextString, ForEachNoDup functions (Russell Yanofsky)05bfee3451util_SettingsMerge test cleanup (Russell Yanofsky)fa3c651143[refactor] interfaces: Add missing LockAnnotation for cs_main (MarcoFalke)ccc27bdcd2doc: Clarify -blocksdir usage (Daniel McNally)bd63c1ed12[docs] Update release-notes.md (Jon Atack)96d32a7bc0[docs] Update release-process.md (Jon Atack)d20d756752rpc: faster getblockstats using BlockUndo data (Felix Weis)510c6532baExtract ParseDescriptorRange (Ben Woosley)5c04814b2dMove non-linux source tarball to bitcoin-binaries (Hennadii Stepanov)2dfe275171Add ChaCha20 bench (Jonas Schnelli)2bc2b8b49aAdd ChaCha20 encryption option (XOR) (Jonas Schnelli)fa193dc8e6doc: Remove win32 from the release process (MarcoFalke)faf666f814Remove Windows 32 bit build (MarcoFalke)78e407ad0cGetKeyBirthTimes should return key ids, not destinations (Gregory Sanders)70946e7feeReplace CScriptID and CKeyID in CTxDestination with dedicated types (Gregory Sanders)f4a230b627docs: Clarify PR guidelines w/re documentation (Carl Dong)beda0dae95Upgrade gitian image before signing (Hennadii Stepanov)e0bb279999Doc: remove text about txes always relayed from -whitelist (David A. Harding)124ea38e39change default Python block serialization to witness (Gregory Sanders)62d50ef308Add LOCKS_EXCLUDED(cs_main) to LimitValidationInterfaceQueue(...) which does AssertLockNotHeld(cs_main) (practicalswift)a3592c91a2.gitignore: Don't ignore depends patches (Carl Dong)a0a222eec0Replace deprecated Boost Filesystem function (Hennadii Stepanov)4f65af97b4Remove dead code for walletFile check (Hennadii Stepanov)486c1eea86refactoring: remove unused chainActive (James O'Beirne)631940aab2scripted-diff: replace chainActive -> ::ChainActive() (James O'Beirne)a3a609079crefactoring: introduce unused ChainActive() (James O'Beirne)1b6e6fcfd2rename: CChainState.chainActive -> m_chain (James O'Beirne)d2eee87928Lift prevector default vals to the member declaration (Ben Woosley)7b29ec277b[tests] Comment for why logging config is set as command-line args. (John Newbery)ba534ccd56[tests] log thread names by default in functional tests (John Newbery)b6c748f849doc: Add release notes for 15730 (João Barbosa)d3e8458365rpc: Show scanning details in getwalletinfo (João Barbosa)90e27abe37wallet: Track current scanning progress (João Barbosa)2ee811e693wallet: Track scanning duration (João Barbosa)facfb4111drpc: Deprecate getunconfirmedbalance and getwalletinfo balances (MarcoFalke)999931cf8frpc: Add getbalances RPC (MarcoFalke)fad13e925erpcwallet: Make helper methods const on CWallet (MarcoFalke)fad40ec915wallet: Use IsValidNumArgs in getwalletinfo rpc (MarcoFalke)bfaa7270c4rename bitcoin-wallet manpage to elements-wallet (Andrew Poelstra)62a26bebacIntroduce bitcoin-wallet.1 from bitcoin upstreamf5bd46a4cc(Andrew Poelstra)00d110463aInstall bitcoin-wallet manpage. (Daniel Kraft)fc929842c2GUI: Move QRImageWidget to its own file-pair (Luke Dashjr)77851ab682GUI: Refactor actual QR code rendering into new QRImageWidget::setQR (Luke Dashjr)0ff1c2a838Separate reason for premature spends (coinbase/locktime) (Suhas Daftuar)54470e767bAssert validation reasons are contextually correct (Suhas Daftuar)2120c31521[refactor] Update some comments in validation.cpp as we arent doing DoS there (Matt Corallo)12dbdd7a41[refactor] Drop unused state.DoS(), state.GetDoS(), state.CorruptionPossible() (Matt Corallo)aa502b88d1scripted-diff: Remove DoS calls to CValidationState (Matt Corallo)7721ad64f4[refactor] Prep for scripted-diff by removing some \ns which annoy sed. (Matt Corallo)5e78c5734bAllow use of state.Invalid() for all reasons (Matt Corallo)6b34bc6b6fFix handling of invalid headers (Suhas Daftuar)ef54b486d5[refactor] Use Reasons directly instead of DoS codes (Matt Corallo)9ab2a0412eCorruptionPossible -> BLOCK_MUTATED (Matt Corallo)6e55b292b0CorruptionPossible -> TX_WITNESS_MUTATED (Matt Corallo)7df16e70e6LookupBlockIndex -> CACHED_INVALID (Matt Corallo)c8b0d22698[refactor] Drop redundant nDoS, corruptionPossible, SetCorruptionPossible (Matt Corallo)34477ccd39[refactor] Add useful-for-dos "reason" field to CValidationState (Matt Corallo)6a7f8777a0Ban all peers for all block script failures (Suhas Daftuar)7b999103e2Clean up banning levels (Matt Corallo)b8b4c80146[refactor] drop IsInvalid(nDoSOut) (Matt Corallo)8818729013[refactor] Refactor misbehavior ban decisions to MaybePunishNode() (Matt Corallo)00e11e61c0[refactor] rename stateDummy -> orphan_state (Matt Corallo)f34fa719cfDrop obsolete sigops comment (Matt Corallo)fa08c5cb99test_runner: Move pruning back to extended (MarcoFalke)faea56400drpc: Add lock annotations to block{,header}ToJSON (MarcoFalke)fab00a5cb9rpc: Serialize in getblock without cs_main (MarcoFalke)fa1c3591adrpc: Use IsValidNumArgs in getblock (MarcoFalke)da9f1ace5ddoc: Add historical release notes for 0.18.0 (Wladimir J. van der Laan)beb42d71a0Silence GCC 7 warning "control reaches end of non-void function" (-Wreturn-type) in psbt.cpp (practicalswift)5d35ae3326Handle the result of posix_fallocate system call (Luca Venturini)422677963arefactor: replace isPotentialtip/waitForNotifications by higher method (Antoine Riard)edfe9438caAdd WITH_LOCK macro: run code while locking a mutex (Antoine Riard)effe81f750Move g_is_mempool_loaded into CTxMemPool::m_is_loaded (Ben Woosley)bb8ae2c419rpc: Expose g_is_mempool_loaded via getmempoolinfo and /rest/mempool/info.json (Ben Woosley)fa90a89eee[test] combine_logs: append node stderr and stdout if it exists (MarcoFalke)fa79a783d6test: Add reorg test to wallet_balance (MarcoFalke)fad03cd046test: Check that wallet txs not in the mempool are untrusted (MarcoFalke)fa195315e6test: Add getunconfirmedbalance test with conflicts (MarcoFalke)fa464e8211test: Add wallet_balance test for watchonly (MarcoFalke)8722e54e56threads: add thread names to deadlock debugging message (James O'Beirne)383b186c28threads: prefix log messages with thread names (James O'Beirne)ddd95ccb80tests: add threadutil tests (James O'Beirne)ae5f2b6a6cthreads: introduce util/threadnames, refactor thread naming (James O'Beirne)188ca75e5fdisable HAVE_THREAD_LOCAL on unreliable platforms (James O'Beirne)151f3e9cf1Add settings merge test to prevent regresssions (Russell Yanofsky)fafb55e2c2[qa] test_runner: Move feature_pruning to base tests (MarcoFalke)8728a66782[tests] fix block time in feature_pruning.py (John Newbery)9f9db39041QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one (Luke Dashjr)e47dc4f68bInclude bitcoin_config.h in release process (Hennadii Stepanov)48ed65bcddAlign MSVC build options with Linux build ones (Hennadii Stepanov)fac174e2d1lint: Check that all wallet args are hidden (MarcoFalke)64491cb376doc: Fix -dustrelayfee= argument docs grammar (keepkeyjon)a34081b7c3Remove unused OpenSSL includes to make it more clear where OpenSSL is used (practicalswift)5d7ce74ab3add missing debian contrib files to tarball (Peter Wagner)765d5890beBugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options (Luke Dashjr)0f09eb779ddummywallet: Reformat ignored wallet options list (Luke Dashjr)70c1cf8c1cwallet: Avoid logging no_such_file_or_directory error (João Barbosa)3407b446ccgui: Uppercase bech32 addresses in qr codes (Ben Carman)1b602f6fedremove extraneous scope (andrewtoth)6ad372a973wallet: log on rescan completion (andrewtoth)5c759c73b2[wallet] Move maxTxFee to wallet (John Newbery)c634b1e207[POLICY] Make sending to future native witness outputs standard (Pieter Wuille)99e88a3726rpc: Remove dependency on interfaces::Chain in SignTransaction (Antoine Riard)201393f932Align code example with clang-format (Hennadii Stepanov)faebd8ca11appveyor: Write @PACKAGE_NAME@ to config (MarcoFalke)5d26205272doc: explain AcceptToMemoryPoolWorker's coins_to_uncache (James O'Beirne)4207c1b35cconfigure: Initialise assembly enable_* variables (Luke Dashjr)afe0875577configure: Skip assembly support checks, when assembly is disabled (Luke Dashjr)d8ab8dc12dconfigure: Invert --enable-asm help string since default is now enabled (Luke Dashjr)fcc443b636QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core (Luke Dashjr)a014373d81QA: Avoid re-reading config.ini unnecessarily (Luke Dashjr)cc556e4a30Add test for superfluous witness record in deserialization (Gregory Sanders)25b0786581Fix missing input template by making minimal tx (Gregory Sanders)bb530efa18Disallow extended encoding for non-witness transactions (Pieter Wuille)c87fc71f7eBugfix: test/functional/rpc_psbt: Correct test description comment (Luke Dashjr)097c4aa379Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions (Luke Dashjr)faca95effdqa: Make swap_magic_bytes in p2p_invalid_messages atomic (MarcoFalke)6dd469a3beDisconnect BlockNotifyGenesisWait and RPCNotifyBlockChange properly. Remove no-op CClientUIInterface::[signal_name]_disconnect. (practicalswift)fa1c8e2978Resolve the qt/guiutil <-> qt/optionsmodal CD (251)710a7136f9rpc: Speedup getaddressesbylabel (João Barbosa)c9e6e7ed79wallet: add cachable amounts for caching credit/debit values (Karl-Johan Alm)fa465e4da4test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan (MarcoFalke)b67978529aAdd comments to Python ECDSA implementation (John Newbery)8c7b9324caPure python EC (Pieter Wuille)765c0b364drefactor: combine Chain::findFirstBlockWithTime/findFirstBlockWithTimeAndHeight (Antoine Riard)fadf7d1390wallet: Remove unused import checkpoints.h (MarcoFalke)418d3230f8Resolve the checkpoints <-> validation CD. (251)fa346fe883doc: Remove upgrade note in release notes from EOL versions (MarcoFalke)942ff2054bcontrib: gh-merge: Use pagination to fetch all review comments (nkostoulas)81b2830b15qt: update request payment button text and tab description (Tobias Kaderle)2d8ba4f867remove out-of-date comment on pay-to-witness support (r8921039)8a33f4d63fGUI: Options: Remove the upper-bound limit from pruning size setting (Luke Dashjr)4ddeb2f860GUI: Options: Set the range of pruning size before loading its value (Luke Dashjr)89e8df1674tests: fix outdate include in blockfilter_index_tests (James O'Beirne)c7efb652f3blockfilter: Update BIP 158 test vectors. (Jim Posen)19308c9e21rpc: Add getblockfilter RPC method. (Jim Posen)ff35105096init: Add CLI option to enable block filter index. (Jim Posen)accc8b8b18index: Access functions for global block filter indexes. (Jim Posen)2bc90e4e7btest: Unit test for block filter index reorg handling. (Jim Posen)6bcf0998c0test: Unit tests for block index filter. (Jim Posen)b5e8200db7index: Implement lookup methods on block filter index. (Jim Posen)75a76e3619index: Implement block filter index with write operations. (Jim Posen)2ad2338ef9serialize: Serialization support for big-endian 32-bit ints. (Jim Posen)ba6ff9a6f7blockfilter: Functions to translate filter types to/from names. (Jim Posen)62b7a4f094index: Ensure block locator is not stale after chain reorg. (Jim Posen)4368384f1dindex: Allow atomic commits of index state to be extended. (Jim Posen)fad7c33342refactor: Add handleNotifications method to wallet (MarcoFalke)fa46ac3127bench: Add wallet_balance benchmarks (MarcoFalke)fab6a0a659test: Add test that addmultisigaddress fails for watchonly addresses (MarcoFalke)fad81d870atest: Fixup creatmultisig documentation and whitespace (MarcoFalke)e377846ff1rest/rpc: Make mempoolinfo atomic (João Barbosa)0aef39d067Silence "Test case [...] did not check any assertions" warnings when running "test_bitcoin --log_level=test_suite" (practicalswift)5fd73c8694Avoid repeated log messages in tests by connecting to signal handlers (ThreadSafeMessageBox, etc.) only once (practicalswift)e502c3c515tests: Reduce noise level in test_bitcoin output (practicalswift)aa410c2b17rpc: Validate maxfeerate with AmountFromValue (João Barbosa)faf400077dscripted-diff: Bump copyright headers in test, bench (MarcoFalke)fa821904bfscripted-diff: Rename test_bitcoin to test/setup_common (MarcoFalke)fa8685d49etest: Use test_bitcoin setup in bench, Add test utils (MarcoFalke)666696b673test: Have segwit always active in (Basic)TestingSetup (MarcoFalke)fa747498f7doc: Clarify RPC versioning (MarcoFalke)b4338c151d[rpc] Remove the addresses field from the getaddressinfo return object (John Newbery)8dfbb5cf23doc: mention creating application support bitcoin folder on OSX (Jack Mallers)140bbeec45doc: describe onlynet option in doc/tor.md (Jon Atack)41a46cbb31Speed up deriveaddresses for large ranges (Pieter Wuille)17be9e0e30gitignore: add *.plist (clang-check) (James O'Beirne)e7acf44bbfgitignore: add *.dat (James O'Beirne)184f8785f7wallet_bumpfee.py: add test for change key preservation (Gregory Sanders)d08becff85add functional tests for feerate bumpfee with adding inputs (Gregory Sanders)0ea47ba7b3generalize bumpfee to add inputs when needed (Gregory Sanders)1b46a4889f[cleanup] Remove unused CReserveKey (John Newbery)9819ad6d07[rpc] simplify generate RPC (John Newbery)fa2dfbf30atravis: Bump second timeout to 33 minutes, Add rationale (MarcoFalke)fafe5f0d09test: Remove unused imports (MarcoFalke)fa16a09215scripted-diff: use self.sync_* methods (MarcoFalke)faf77f9b90test: Pass self to test_simple_bumpfee_succeeds (MarcoFalke)fa6dc7c5c3test: Add BitcoinTestFramework::sync_* methods (MarcoFalke)fafe008cb4test: Pass at most one node group to sync_all (MarcoFalke)fa4680ed09scripted-diff: Rename sync_blocks to send_blocks to avoid name collisions and confusion (MarcoFalke)303372c41adocs: Improve netaddress comments (Carl Dong)0b3a65455aAvoid redefine warning (Peter Bushnell)78a2fb55c9bitcoin-wallet tool: Drop libbitcoin_server.a dependency (Russell Yanofsky)b874747b51Remove access to node globals from wallet-linked code (Russell Yanofsky)fbc6bb8e83bitcoin-wallet tool: Drop MakeChain calls (Russell Yanofsky)7a9046e48d[wallet] Refactor CWalletTx::RelayWalletTransaction() (John Newbery)4d074e84a2[build] Move AnalyzePSBT from psbt.cpp to node/psbt.cpp (Russell Yanofsky)fd509bd1f7[docs] Document src subdirectories and different libraries (John Newbery)9eaeb7fb8d[build] Move wallet load functions to wallet/load unit (John Newbery)91a25d1e71[build] Add several util units (John Newbery)99517866b6[build] Move several units into common libraries (John Newbery)0509465542[build] Move rpc rawtransaction util functions to rpc/rawtransaction_util.cpp (John Newbery)1acc61f874[build] Move rpc utility methods to rpc/util (John Newbery)4a75c9d651[build] Move policy settings to new src/policy/settings unit (John Newbery)fdf8888b6f[build] Move CheckTransaction from lib_server to lib_consensus (John Newbery)c968780785[docs] fix comment: the return value of findFork is _not_ an ancestor when the specified block is on the active chain (r8921039)f4b7a2f205rpc: getrpcinfo docs (Ben Carman)fa26eb5e8frpc: RPCHelpMan: Always push_name when outer type is an object (MarcoFalke)fa652b229erpc: Add some doxygen comments to utils (MarcoFalke)fae38c3dc6doc: Fix all typos reported by codespell (MarcoFalke)fa9058f0eddoc: Add release notes for 15629 (MarcoFalke)fa4a922d78qa: Add test for missing testnet section in conf file (MarcoFalke)dddd6f0f58init: Throw error when network specific config is ignored (MarcoFalke)833d98ae07[wallet] Remove unnecessary Chain::Lock parameter from ResendWalletTransactions (John Newbery)52b760fc6a[wallet] Schedule tx rebroadcasts in wallet (John Newbery)f463cd1073[wallet] Keep track of the best block time in the wallet (John Newbery)fa2056af1ctravis: Properly cache and error on timeout (MarcoFalke)fa36a333eetravis: Switch to ubuntu keyserver to avoid timeouts (MarcoFalke)90bce24576qa: Prevent concurrency issues reading .cookie file (João Barbosa)fa078984c9test: Properly log named args in authproxy (MarcoFalke)b5d3987724Take non-importing keys into account for spendability warning in descriptor import (Pieter Wuille)6e597001a4Import all origin info in importmulti; even for non-importing pubkeys (Pieter Wuille)9a93c91c88Keep full pubkeys in FlatSigningProvider::origins (Pieter Wuille)fa57411fcbwallet: Get all balances in one call (MarcoFalke)8ae6d020b8doc: correct bitcoinconsensus_version in shared-libraries (fanquake)9b085f4863Mention new descriptor RPCs in descriptors.md (Pieter Wuille)28d78de00bMention new PSBT RPCs in psbt.md (Pieter Wuille)65d2f5d2deUpdate bips.md for 0.18.0 (Pieter Wuille)fa49db7eacdoc: Clarify sendrawtransaction::maxfeerate==0 help (MarcoFalke)faf62d9415gui: Generate bech32 addresses by default (MarcoFalke)6d44c5ebf9depends: Add commands for each package for each stage (Carl Dong)80f0e05b70depends: Preprocessing doesn't care about deps (Carl Dong)8f5d9431a3Add regtests for HTTP status codes. (Daniel Kraft)7813eb1db1[qa] Overhaul p2p_compactblocks.py (Suhas Daftuar)892eff05f1Add documentation of struct PSBTAnalysis et al (Glenn Willen)ef22fe8c1fRefactor analyzepsbt for use outside RPC code (Glenn Willen)afd20a25f2Move PSBT decoding functions from core_io to psbt.cpp (Glenn Willen)4831aec5b1Remove unused var (Peter Bushnell)fa8548c5d1net: Remove unused unsanitized user agent string CNode::strSubVer (MarcoFalke)fabfb79673doc: Add release notes for 15596 (MarcoFalke)fac1a0fe54wallet: Remove unused GetLegacyBalance (MarcoFalke)faa3a246e8scripted-diff: wallet: Rename pcoin to wtx (MarcoFalke)fae5f874d5rpc: Document that minconf is an ignored dummy value (MarcoFalke)fa292adce9doc: rpc-mining: Clarify error messages (MarcoFalke)ac67582ff7depends: latest rapidcheck, use INSTALL_ALL_EXTRAS (fanquake)ea1a2d8794[wallet] Remove ResendWalletTransactionsBefore (John Newbery)f5162458cd[rpc] remove resendwallettransactions RPC (John Newbery)4bf1b1cefaqa: Check unconfirmed balance after loadwallet (João Barbosa)2ebf650b2ewallet: Update transactions with current mempool after load (João Barbosa)57908a739cinterfaces: Add Chain::requestMempoolTransactions (João Barbosa)0440481c6bwallet: Move CWallet::ReacceptWalletTransactions locks to callers (João Barbosa)866c8058a7Interrupt orphan processing after every transaction (Pieter Wuille)6e051f3d32[MOVEONLY] Move processing of orphan queue to ProcessOrphanTx (Pieter Wuille)9453018fdcSimplify orphan processing in preparation for interruptibility (Pieter Wuille)afc06fc868rpc: Fix help text for signtransactionwithXXX (Torkel Rogstad)1111f0718atest: .style.yapf: Set column_limit=160 (MarcoFalke)2a1408c3ecComment for seemingly duplicate LIBBITCOIN_SERVER (Peter Bushnell)03d6d23810[tests] make pruning test faster (John Newbery)1c29ac40fb[tests] style fixes in feature_pruning.py (John Newbery)8b8d8eeae9Remove travis_wait from lint script (Graham Krizek)f6ee177f7dRemove unused AES-128 code (practicalswift)fa926ec24frpc: Mention all output types in decodescript doc (MarcoFalke)fa3caa1666rpc: decodescript use IsValidNumArgs over hardcoded check (MarcoFalke)faad33ff15rpc: Clarify decodescript RPCResult doc (MarcoFalke)7d01b5cf2cdoc/dependencies: Fix typo libsrvg->librsvg (Luke Dashjr)43ae1e96edrelease: Update the Windows Codesigning certificate (Cory Fields)529c1ae4a0[tests] Add test for wallet rebroadcasts (John Newbery)fa1ad200d3doc: Add release notes for 15620 (MarcoFalke)fa96d76421rpc: Uncouple rpcs from maxTxFee global (MarcoFalke)fa965e03c7rpc: Use IsValidNumArgs over hardcoded size checks (MarcoFalke)fa1c073154contrib: gh-merge: Include review comments in merge commit (MarcoFalke)e9d5e97561Poly1305: tolerate the intentional unsigned wraparound in poly1305.cpp (Jonas Schnelli)b34bf302f2Add Poly1305 bench (Jonas Schnelli)03be7f48faAdd Poly1305 implementation (Jonas Schnelli)e16b6a7188rpc: Rename size to vsize in mempool related calls (Miguel Herranz)5801dd628ddocs: Add more tips to productivity.md (gwillen)947f73ceba[docs] remove reference to signrawtransaction in the developer docs. (John Newbery)7b6616b78b[rpc] Remove deprecated functionality message from validateaddress help (John Newbery)839c3f7c49[rpc] Remove signrawtransaction warning (John Newbery)fab0a68aa2qa: mininode: Clearer error message on invalid magic bytes (MarcoFalke)a10972bc03gui: Defer removeAndDeleteWallet when no modal widget is active (João Barbosa)bb6195e34drefactor: Remove unused function (practicalswift)d358466de1Remove remaining wallet accesses to node globals (Russell Yanofsky)b1b2b23892Remove use of CCoinsViewMemPool::GetCoin in wallet code (Russell Yanofsky)4e4d9e9f85Remove use of CRPCTable::appendCommand in wallet code (Russell Yanofsky)91868e6288Remove use CValidationInterface in wallet code (Russell Yanofsky)ef0019e054Generate log entry when blocks messages are received unexpectedly. (Patrick Strateman)0d9d2b385bDoc: update ACK description in CONTRIBUTING.md (Jon Atack)fa11c036e9refactor: Expose UndoReadFromDisk in header (MarcoFalke)054d01d0a8Do not relay banned IP addresses (Pieter Wuille)fa5c511a83refactor: Remove unused function (MarcoFalke)7abd2e697cwallet/rpc: add maxfeerate parameter to testmempoolaccept (Karl-Johan Alm)6c0a6f73e3wallet/rpc: add maxfeerate parameter to sendrawtransaction (Karl-Johan Alm)e5efacb941test: Refactor vout fetches in rpc_rawtransaction (Karl-Johan Alm)f7696e6183depends: qt: Don't hardcode pwd path (Carl Dong)89bee1bdbfdepends: tar: Always extract as yourself (Carl Dong)340ef50772depends: Defer to Python detected by autoconf (Carl Dong)2e5d482659tests: Print remaining jobs in test_runner.py (Steven Roose)faf3698808wallet: Improve log output for errors during load (Glenn Willen)fa0f92af9abuild: depends: Switch to python3 (MarcoFalke)204c729457Add Gitian key for droark (Douglas Roark)c7a7250302Document assumptions about C++ compiler (practicalswift)c7ea8d3236Add sizeof(size_t) assumptions (practicalswift)92f3e808f6[docs] release note for disabling reject messages by default (John Newbery)b8705a0915Set 'distro' explicitly (Hennadii Stepanov)19a0c4af0fdepends: native_protobuf: avoid system zlib (Carl Dong)228e80608dEnable TLS in link to chris.beams.io (JeremyRand)ff7f31e07d[doc] productivity: more advanced git range-diff (Sjors Provoost)3a21905a4e[doc] devtools: mention clang-format dependency (Sjors Provoost)bf12093191[doc] productivity: fix broken link (Sjors Provoost)15c69b158dwallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree (João Barbosa)335931df4arpc: return a number for estimated_feerate in analyzepsbt (fanquake)a4d0fd026bdoc: correct analysepsbt rpc doc (fanquake)56f1d28d9bdead code: Remove dead option in HexStr conversion (Lenny Maiorani)c9963ae8b1Fix overflow bug in analyzepsbt fee: CAmount instead of int (Pieter Wuille)fa55104cb8build: use full version string in setup.exe (MarcoFalke)3f6568d66bcli: remove duplicate wallet fields from -getinfo (fanquake)890396cbd5cli: replace testnet with chain and return network name as per BIP70. (fanquake)6e1aaffa98doc: remove release note fragments (fanquake)5bd078876adoc: correct path in build-windows.md (Ferdinando M. Ametrano)20e6ea259b[addrman] Improve collision logging and address nits (Suhas Daftuar)f71fdda3bc[addrman] Ensure collisions eventually get resolved (Suhas Daftuar)4991e3c813[net] feeler connections can be made to outbound peers in same netgroup (Suhas Daftuar)4d834018e3[addrman] Improve tried table collision logging (Suhas Daftuar)32da92bdf6gitian: Improve error handling (Wladimir J. van der Laan)82c3b3f8e0Remove sharp edge (uninitialized m_filter_type) when using the compiler-generated constructor for BlockFilter (practicalswift)fa58a2e335contrib: Bump gitian descriptors for 0.19 (MarcoFalke)28c86de3b1gui: Drop unused return values in WalletFrame (João Barbosa)faebd2ef40doc: Move wallet lock annotations to header (MarcoFalke)fa38535130bench: Benchmark MempoolToJSON (MarcoFalke)fa5dc3534brpc: Pass mempool into MempoolToJSON (MarcoFalke)faa9b88199fuzz: Link BasicTestingSetup (shared with unit tests) (MarcoFalke)fa85468cd2test: Move main_tests to validation_tests (MarcoFalke)fa02b22245test: Remove useless test_bitcoin_main.cpp (MarcoFalke)fab2daa026test: Add missing LIBBITCOIN_ZMQ to test_test_bitcoin_LDADD (MarcoFalke)21be609b49In lint-format-strings, open files sequentially (Glenn Willen)4d4e4c6448Suggested interfaces::Chain cleanups from #15288 (Russell Yanofsky)fa2797808etest: Remove python3.4 workaround in feature_dbcrash (MarcoFalke)dddd1d05d3.python-version: Specify full version 3.5.6 (MarcoFalke)faa7cdf764scripted-diff: Update copyright in ./test (MarcoFalke)fa0e65b772scripted-diff: test: Remove brackets after assert (MarcoFalke)fab5a1e0f4build: Require python 3.5 (MarcoFalke)fa6bf21f5escripted-diff: test: Use py3.5 bytes::hex() method (MarcoFalke)3eac2d57b1docs: add "sections" info to example bitcoin.conf (Alistair Mann)fad76e7a49doc: Remove pr release notes file in wrong dir (MarcoFalke)fa45123f66test: Add .style.yapf (MarcoFalke)f7efd87c8fChange brace formatting (Russell Yanofsky)a1df1b48a8Remove use of IsInitialBlockDownload in wallet code (Russell Yanofsky)1106a6fde4Remove use of uiInterface.LoadWallet in wallet code (Russell Yanofsky)318f41fb2ccircular-dependencies: Avoid treating some .h/.cpp files as a unit (Russell Yanofsky)d02b34c8a8Remove use of AcceptToMemoryPool in wallet code (Russell Yanofsky)e2c8ba9f6eRemove uses of InitMessage/Warning/Error in wallet code (Russell Yanofsky)c5e59a96a8Remove uses of GetAdjustedTime in wallet code (Russell Yanofsky)6d6bcc77c0Remove use of g_connman / PushInventory in wallet code (Russell Yanofsky)00dfb2a440Remove uses of g_connman in wallet code (Russell Yanofsky)cc3836e8f9Remove uses of fPruneMode in wallet code (Russell Yanofsky)cc02c796d3Remove uses of fee globals in wallet code (Russell Yanofsky)1fb0a4a04eRemove use of CalculateMemPoolAncestors in wallet code (Russell Yanofsky)cd32160af0Remove use of GetTransactionAncestry in wallet code (Russell Yanofsky)291276f7f4Remove use of GetCountWithDescendants in wallet code (Russell Yanofsky)bdc6628683Remove use of IsRBFOptIn in wallet code (Russell Yanofsky)80f52a2267Remove uses of CheckFinalTx in wallet code (Russell Yanofsky)fa3148aacbdoc: Remove ppa from linux build instructions (MarcoFalke)04cca33094Style cleanup. (Jim Posen)4c01e4e159flatfile: Unit tests for FlatFileSeq methods. (Jim Posen)65a489e93dscripted-diff: Rename CBlockDiskPos to FlatFilePos. (Jim Posen)d6d8a78f26Move CDiskBlockPos from chain to flatfile. (Jim Posen)e0380933e3validation: Refactor file flush logic into FlatFileSeq. (Jim Posen)992404b31evalidation: Refactor block file pre-allocation into FlatFileSeq. (Jim Posen)e2d2abb99fvalidation: Refactor OpenDiskFile into method on FlatFileSeq. (Jim Posen)9183d6ef65validation: Extract basic block file logic into FlatFileSeq class. (Jim Posen)62e7addb63util: Move CheckDiskSpace to util. (Jim Posen)1a7ba84e11Fix lack of warning of unrecognized section names (Akio Nakamura)fa1d400003cirrus ci: Inital config (MarcoFalke)43206239a8tests: Add script checking for deterministic line coverage (practicalswift)07cae5287c[wallet] remove unused GetScriptForMining (Sjors Provoost)8bb3e4c487[rpc] remove deprecated generate method (Sjors Provoost)10c7642a57docs: Update Transifex links (marcuswin)c9985c84f9build: Bump version to 0.18.99 (Wladimir J. van der Laan)9586157c0f[rpc] deriveaddresses: add range to CRPCConvertParam (Sjors Provoost)f13ad1cae0modify test for memory locked in case locking pages failed at some point (Adam Jonas)2fa85ebd1cadd rpc_misc.py, mv test getmemoryinfo, add test mallocinfo (Adam Jonas)aeb7fbfd69appveyor: Don't build debug libraries instead of "build and delete" (Chun Kuan Lee)ca253f6ebfMake deriveaddresses use stop/[start,stop] notation for ranges (Pieter Wuille)1675b7ce55Use stop/[start,stop] notation in importmulti desc range (Pieter Wuille)4566011631Add support for stop/[start,stop] ranges to scantxoutset (Pieter Wuille)6b9f45e81bSupport ranges arguments in RPC help (Pieter Wuille)7aa6a8aefbAdd ParseRange function to parse args of the form int/[int,int] (Pieter Wuille)fa852f0e8dtest: Bump timeout on tests that timeout on windows (MarcoFalke)4a5e52cb51msvc: Use a single file to specify the include path (Chun Kuan Lee)fa466cbc50doc: Update release process for snap package (MarcoFalke)9999879f56refactor: Use RPCHelpMan::IsValidNumArgs in getrawtransaction (MarcoFalke)fa9ff8fe21doc: Remove misleading hint in getrawtransaction (MarcoFalke)6ad79cbd56wallet: Use fsbridge::ifstream to fix Windows path issue (Chun Kuan Lee)a720a98301gui: Fix async open wallet call order (João Barbosa)ef362f2773rpc/gui: Remove 'Unknown block versions being mined' warning (Wladimir J. van der Laan)fa2cdc9ac2test: Simplify create_cache (MarcoFalke)fa25210d62qa: Fix wallet_txn_doublespend issue (MarcoFalke)1111aecbb5qa: Always refresh stale cache to be out of ibd (MarcoFalke)fab0d85802qa: Remove mocktime unless required (MarcoFalke)3f5ad622e5Enable PID file creation on Windows - Add available WIN PID function - Consider WIN32 in each relevant case - Add new preprocessor definitions to suppress warning - Update error message for generic OS (riordant)fa4ce7038drpc: Actually throw help when passed invalid number of params (MarcoFalke)fa05626ca7rpc: Add RPCHelpMan::IsValidNumArgs() (MarcoFalke)4489ede527fix missing includes (Andrew Poelstra) Pull request description: Requires a bunch of followup work which I will open other issues for. See also #743 which was our checklist for 0.19. Then in followup PRs: * ~Fix the fuzz tests; I did not test these at any point throughout the rebase https://github.com/ElementsProject/elements/issues/936~ * Update and publish the `merge-prs` script to run the fuzzer, linter etc., as well as do a full clean `make check` https://github.com/ElementsProject/elements/pull/923/ * Audit translations; at a couple points I took Core's translations wholesale and we will need to re-edit them to change Bitcoin to Elements https://github.com/ElementsProject/elements/issues/937 * Audit the GUI. I have not opened the bitcoin GUI since 0.12 and not opened Elements ever, so probably I broke this. https://github.com/ElementsProject/elements/issues/938 * Assess wallet/node coupling; Core did some separation in the build system which I undid, to support the `signblock` RPC which involves both wallet and node logic. Core's solution to this for Signet may be to introduce a separate signblock tool which we may want to also do; see #bitcoin-core-dev IRC logs for the meeting on 2020-12-03. https://github.com/ElementsProject/elements/issues/939 * Assess functional tests: chase down a couple intermittent failures, assess the new broken `loadblocks` test, assess the "extended tests" which are broken on master https://github.com/ElementsProject/elements/issues/940 * Assess bitcoin functional tests and `g_con_elementsmode` #929 * Strengthen the functional tests; add more thorough PAK checks (see #926), move `computefastmerkleroot` into Python rather than using the RPC; https://github.com/ElementsProject/elements/issues/941 * Fix the `bumpfee` RPC to support CT. There is an existing issue for this #527 * Fix the PAK standardness bug #925 which was discovered through the rebase. * Followup on conversion to `bilingual_str` from `std::string` for many Core RPCs; we should follow suit for our own RPCs https://github.com/ElementsProject/elements/issues/942 * The new `avoid_reuse` param to `sendtoaddress` and a couple other RPCs moves some Elements fields out of the way. For backward compatibility we should put `avoid_reuse` after these Elements fields. (I think this is the only time I did this; after talking to Glenn I tried to make future RPC extensions backward compatible) * Rebase #900 on this and un-disable the large number of lines in the PSET functional tests which are disabled (in particular around the missing `fee` field of the RPC output) Then a couple large followups. Tracking issues: * Taproot: https://github.com/ElementsProject/elements/issues/943 * Descriptors: https://github.com/ElementsProject/elements/issues/944 * Simplicity: https://github.com/ElementsProject/elements/issues/945 Tree-SHA512: 4902e0878dc405380cd753627b13e6d2dbf01e328948f5321d9ee445ca8aceddbf23287e4459f27308b1450913b5f8eaa822560ce461db3ea4129490a12bdd94
This commit is contained in:
commit
a49c01693b
1782 changed files with 206971 additions and 120371 deletions
|
|
@ -1,58 +1,62 @@
|
|||
version: '{branch}.{build}'
|
||||
skip_tags: true
|
||||
image: Visual Studio 2017
|
||||
image: Previous Visual Studio 2019
|
||||
configuration: Release
|
||||
platform: x64
|
||||
clone_depth: 5
|
||||
environment:
|
||||
APPVEYOR_SAVE_CACHE_ON_ERROR: true
|
||||
CLCACHE_SERVER: 1
|
||||
PACKAGES: berkeleydb boost-filesystem boost-signals2 boost-test libevent openssl rapidcheck zeromq
|
||||
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
|
||||
PYTHONUTF8: 1
|
||||
cache:
|
||||
- C:\tools\vcpkg\installed -> appveyor.yml
|
||||
- C:\Users\appveyor\clcache -> appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in
|
||||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
|
||||
QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
|
||||
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
|
||||
VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
|
||||
VCPKG_COMMIT_ID: '40230b8e3f6368dcb398d649331be878ca1e9007'
|
||||
install:
|
||||
- cmd: pip install --quiet git+https://github.com/frerich/clcache.git@v4.2.0
|
||||
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
|
||||
# - cmd: pip install zmq
|
||||
- cmd: vcpkg remove --outdated --recurse
|
||||
- cmd: vcpkg install --triplet %PLATFORM%-windows-static %PACKAGES% > NUL
|
||||
- cmd: del /s /q C:\Tools\vcpkg\installed\%PLATFORM%-windows-static\debug # Remove unused debug library
|
||||
# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
|
||||
# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary,
|
||||
# b. Install the missing packages using the vcpkg manifest.
|
||||
- ps: |
|
||||
cd c:\tools\vcpkg
|
||||
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
|
||||
git pull origin master > $null
|
||||
git -c advice.detachedHead=false checkout $env:VCPKG_COMMIT_ID
|
||||
.\bootstrap-vcpkg.bat > $null
|
||||
cd "$env:APPVEYOR_BUILD_FOLDER"
|
||||
before_build:
|
||||
- ps: clcache -M 536870912
|
||||
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
|
||||
# a. Download the zip file with the prebuilt Qt static libraries.
|
||||
# b. Check that the downloaded file matches the expected hash.
|
||||
# c. Extract the zip file to the specific destination path expected by the msbuild projects.
|
||||
- ps: |
|
||||
Write-Host "Downloading Qt binaries.";
|
||||
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
|
||||
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
|
||||
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
|
||||
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
|
||||
Write-Host "Qt binary download matched the expected hash.";
|
||||
}
|
||||
else {
|
||||
Write-Host "ERROR: Qt binary download did not match the expected hash.";
|
||||
Exit-AppveyorBuild;
|
||||
}
|
||||
- cmd: python build_msvc\msvc-autogen.py
|
||||
- ps: $files = (Get-ChildItem -Recurse | where {$_.extension -eq ".vcxproj"}).FullName
|
||||
- ps: for (${i} = 0; ${i} -lt ${files}.length; ${i}++) {
|
||||
${content} = (Get-Content ${files}[${i}]);
|
||||
${content} = ${content}.Replace("</RuntimeLibrary>", "</RuntimeLibrary><DebugInformationFormat>None</DebugInformationFormat>");
|
||||
${content} = ${content}.Replace("<WholeProgramOptimization>true", "<WholeProgramOptimization>false");
|
||||
Set-Content ${files}[${i}] ${content};
|
||||
}
|
||||
- ps: Start-Process clcache-server
|
||||
- ps: fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache)
|
||||
build_script:
|
||||
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nologo
|
||||
- cmd: msbuild /p:TrackFileAccess=false build_msvc\bitcoin.sln /m /v:q /nologo
|
||||
after_build:
|
||||
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
|
||||
- ps: clcache -z
|
||||
before_test:
|
||||
- ps: ${conf_ini} = (Get-Content([IO.Path]::Combine(${env:APPVEYOR_BUILD_FOLDER}, "test", "config.ini.in")))
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@abs_top_srcdir@", ${env:APPVEYOR_BUILD_FOLDER})
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@abs_top_builddir@", ${env:APPVEYOR_BUILD_FOLDER})
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@EXEEXT@", ".exe")
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@ENABLE_WALLET_TRUE@", "")
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@BUILD_BITCOIN_CLI_TRUE@", "")
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@BUILD_BITCOIND_TRUE@", "")
|
||||
- ps: ${conf_ini} = ${conf_ini}.Replace("@ENABLE_ZMQ_TRUE@", "")
|
||||
- ps: ${utf8} = New-Object System.Text.UTF8Encoding ${false}
|
||||
- ps: '[IO.File]::WriteAllLines([IO.Path]::Combine(${env:APPVEYOR_BUILD_FOLDER}, "test", "config.ini"), ${conf_ini}, ${utf8})'
|
||||
- ps: move "build_msvc\${env:PLATFORM}\${env:CONFIGURATION}\*.exe" src
|
||||
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
|
||||
test_script:
|
||||
- cmd: src\test_bitcoin.exe -k stdout -e stdout 2> NUL
|
||||
- cmd: src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL
|
||||
- cmd: src\test_bitcoin.exe -l test_suite
|
||||
- cmd: src\bench_bitcoin.exe > NUL
|
||||
- ps: python test\util\bitcoin-util-test.py
|
||||
- cmd: python test\util\rpcauth-test.py
|
||||
- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast
|
||||
# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted.
|
||||
# functional tests disabled for now. See
|
||||
# https://github.com/bitcoin/bitcoin/pull/18626#issuecomment-613396202
|
||||
# https://github.com/bitcoin/bitcoin/issues/18623
|
||||
# - cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation
|
||||
artifacts:
|
||||
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
|
||||
deploy: off
|
||||
|
|
|
|||
146
.cirrus.yml
Normal file
146
.cirrus.yml
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
### Global defaults
|
||||
|
||||
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
|
||||
container:
|
||||
# https://cirrus-ci.org/faq/#are-there-any-limits
|
||||
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
|
||||
cpu: 2
|
||||
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
|
||||
kvm: true # Use kvm to avoid spurious CI failures in the default virtualization cluster, see https://github.com/bitcoin/bitcoin/issues/20093
|
||||
env:
|
||||
SECP256K1_TEST_ITERS: 16 # ELEMENTS: avoid test timeouts on arm
|
||||
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
|
||||
MAKEJOBS: "-j3" # ELEMENTS: reduced from j4
|
||||
DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system
|
||||
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
|
||||
CCACHE_SIZE: "200M"
|
||||
CCACHE_DIR: "/tmp/ccache_dir"
|
||||
|
||||
### Global task template
|
||||
|
||||
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
|
||||
global_task_template: &GLOBAL_TASK_TEMPLATE
|
||||
skip: $CIRRUS_REPO_FULL_NAME == "bitcoin-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
|
||||
ccache_cache:
|
||||
folder: "/tmp/ccache_dir"
|
||||
depends_built_cache:
|
||||
folder: "/tmp/cirrus-ci-build/depends/built"
|
||||
depends_sdk_cache:
|
||||
folder: "/tmp/cirrus-ci-build/depends/sdk-sources"
|
||||
depends_releases_cache:
|
||||
folder: "/tmp/cirrus-ci-build/releases"
|
||||
merge_base_script:
|
||||
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
|
||||
- bash -c "$PACKAGE_MANAGER_INSTALL git"
|
||||
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
|
||||
- git config --global user.email "ci@ci.ci"
|
||||
- git config --global user.name "ci"
|
||||
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
|
||||
ci_script:
|
||||
- ./ci/test_run_all.sh
|
||||
|
||||
#task:
|
||||
# name: "Windows"
|
||||
# windows_container:
|
||||
# image: cirrusci/windowsservercore:2019
|
||||
# env:
|
||||
# CIRRUS_SHELL: powershell
|
||||
# PATH: 'C:\Python37;C:\Python37\Scripts;%PATH%'
|
||||
# PYTHONUTF8: 1
|
||||
# QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
|
||||
# QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
|
||||
# QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
|
||||
# VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
|
||||
# VCPKG_COMMIT_ID: 'ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74'
|
||||
# install_script:
|
||||
# - choco install python --version=3.7.7 -y
|
||||
|
||||
task:
|
||||
name: 'ARM [GOAL: install] [buster] [unit tests, no functional tests]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: debian:buster
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_arm.sh"
|
||||
|
||||
task:
|
||||
name: 'Win64 [GOAL: deploy] [unit tests, no gui, no boost::process, no functional tests]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:bionic
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [bionic] [C++17, previous releases, uses qt5 dev package and some depends packages] [unsigned char]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:bionic
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh"
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: thread (TSan), no gui]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:focal
|
||||
cpu: 4 # Double CPU and Memory to avoid timeout
|
||||
memory: 16G
|
||||
env:
|
||||
MAKEJOBS: "-j6" # ELEMENTS: reduced from -j8
|
||||
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: memory (MSan)]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:focal
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:focal
|
||||
memory: 12G # ELEMENTS: need more memory
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:focal
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [multiprocess]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:focal
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh"
|
||||
|
||||
task:
|
||||
name: 'macOS 10.12 [GOAL: deploy] [no functional tests]'
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:bionic
|
||||
env:
|
||||
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
|
||||
|
||||
task:
|
||||
name: 'macOS 10.14 native [GOAL: install] [GUI] [no depends]'
|
||||
macos_brew_addon_script:
|
||||
- brew install boost libevent berkeley-db4 qt miniupnpc ccache zeromq qrencode sqlite libtool automake pkg-config gnu-getopt
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
osx_instance:
|
||||
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
|
||||
image: catalina-xcode-12.1 # https://cirrus-ci.org/guide/macOS
|
||||
env:
|
||||
DANGER_RUN_CI_ON_HOST: "true"
|
||||
CI_USE_APT_INSTALL: "no"
|
||||
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
|
||||
FILE_ENV: "./ci/test/00_setup_env_mac_host.sh"
|
||||
16
.fuzzbuzz.yml
Normal file
16
.fuzzbuzz.yml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
base: ubuntu:16.04
|
||||
language: c++
|
||||
engine: libFuzzer
|
||||
environment:
|
||||
- CXXFLAGS=-fcoverage-mapping -fno-omit-frame-pointer -fprofile-instr-generate -gline-tables-only -O1
|
||||
setup:
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install -y autoconf bsdmainutils clang git libboost-all-dev libboost-program-options-dev libc++1 libc++abi1 libc++abi-dev libc++-dev libclang1 libclang-dev libdb5.3++ libevent-dev libllvm-ocaml-dev libomp5 libomp-dev libprotobuf-dev libqt5core5a libqt5dbus5 libqt5gui5 libssl-dev libtool llvm llvm-dev llvm-runtime pkg-config protobuf-compiler qttools5-dev qttools5-dev-tools software-properties-common
|
||||
- ./autogen.sh
|
||||
- CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
|
||||
- make
|
||||
- git clone https://github.com/bitcoin-core/qa-assets
|
||||
auto_targets:
|
||||
find_targets_command: find src/test/fuzz/ -executable -type f ! -name "*.cpp" ! -name "*.h"
|
||||
base_corpus_dir: qa-assets/fuzz_seed_corpus/
|
||||
memory_limit: none
|
||||
8
.github/ISSUE_TEMPLATE.md
vendored
8
.github/ISSUE_TEMPLATE.md
vendored
|
|
@ -4,7 +4,11 @@ General bitcoin questions and/or support requests are best directed to the Bitco
|
|||
|
||||
For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.
|
||||
|
||||
If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->
|
||||
If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue!
|
||||
|
||||
Any report, issue or feature request related to the GUI should be reported at
|
||||
https://github.com/bitcoin-core/gui/issues/
|
||||
-->
|
||||
|
||||
<!-- Describe the issue -->
|
||||
<!--- What behavior did you expect? -->
|
||||
|
|
@ -17,7 +21,7 @@ If the node is "stuck" during sync or giving "block checksum mismatch" errors, p
|
|||
|
||||
<!-- What type of machine are you observing the error on (OS/CPU and disk type)? -->
|
||||
|
||||
<!-- For the GUI-related issue on Linux provide names and versions of a distro, a desktop environment and a graphical shell (if relevant). -->
|
||||
<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? -->
|
||||
|
||||
<!-- Any extra information that might be useful in the debugging process. -->
|
||||
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->
|
||||
|
|
|
|||
41
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
41
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve (use this for suspected bugs only, if not sure, open a regular issue below)
|
||||
title: ''
|
||||
labels: Bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- This issue tracker is only for technical issues related to Bitcoin Core.
|
||||
|
||||
General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com.
|
||||
|
||||
For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.
|
||||
|
||||
If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->
|
||||
|
||||
<!-- Describe the issue -->
|
||||
|
||||
**Expected behavior**
|
||||
|
||||
<!--- What behavior did you expect? -->
|
||||
|
||||
**Actual behavior**
|
||||
|
||||
<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? -->
|
||||
|
||||
**To reproduce**
|
||||
|
||||
<!--- How reliably can you reproduce the issue, what are the steps to do so? -->
|
||||
|
||||
**System information**
|
||||
|
||||
<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->
|
||||
|
||||
<!-- What type of machine are you observing the error on (OS/CPU and disk type)? -->
|
||||
|
||||
<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? -->
|
||||
|
||||
<!-- Any extra information that might be useful in the debugging process. -->
|
||||
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->
|
||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: Feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
||||
|
||||
**Describe the solution you'd like**
|
||||
<!-- A clear and concise description of what you want to happen. -->
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
|
||||
|
||||
**Additional context**
|
||||
<!-- Add any other context or screenshots about the feature request here. -->
|
||||
22
.github/ISSUE_TEMPLATE/good_first_issue.md
vendored
Normal file
22
.github/ISSUE_TEMPLATE/good_first_issue.md
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
name: Good first issue
|
||||
about: '(Regular devs only): Suggest a new good first issue'
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- Needs the label "good first issue" assigned manually before or after opening -->
|
||||
|
||||
<!-- A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution -->
|
||||
|
||||
<!-- Motivate the issue and explain the solution briefly -->
|
||||
|
||||
#### Useful skills:
|
||||
|
||||
<!-- (For example, “C++11 std::thread”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.) -->
|
||||
|
||||
#### Want to work on this issue?
|
||||
|
||||
For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.
|
||||
11
.github/ISSUE_TEMPLATE/gui_issue.md
vendored
Normal file
11
.github/ISSUE_TEMPLATE/gui_issue.md
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
name: An issue or feature request related to the GUI
|
||||
about: Any report, issue or feature request related to the GUI should be reported at https://github.com/bitcoin-core/gui/issues/
|
||||
title: Any report, issue or feature request related to the GUI should be reported at https://github.com/bitcoin-core/gui/issues/
|
||||
labels: GUI
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Any report, issue or feature request related to the GUI should be reported at
|
||||
https://github.com/bitcoin-core/gui/issues/
|
||||
14
.github/PULL_REQUEST_TEMPLATE.md
vendored
14
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,9 +1,18 @@
|
|||
<!--
|
||||
*** Please remove the following help text before submitting: ***
|
||||
|
||||
Pull requests without a rationale and clear improvement may be closed
|
||||
immediately.
|
||||
|
||||
GUI-related pull requests should be opened against
|
||||
https://github.com/bitcoin-core/gui
|
||||
first. See CONTRIBUTING.md
|
||||
-->
|
||||
|
||||
<!--
|
||||
Please provide clear motivation for your patch and explain how it improves
|
||||
Bitcoin Core user experience or Bitcoin Core developer experience
|
||||
significantly.
|
||||
significantly:
|
||||
|
||||
* Any test improvements or new tests that improve coverage are always welcome.
|
||||
* All other changes should have accompanying unit tests (see `src/test/`) or
|
||||
|
|
@ -24,8 +33,11 @@ significantly.
|
|||
is often a subjective matter. Unless they are explicitly mentioned to be
|
||||
preferred in the [developer notes](/doc/developer-notes.md), stylistic code
|
||||
changes are usually rejected.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Bitcoin Core has a thorough review process and even the most trivial change
|
||||
needs to pass a lot of eyes and requires non-zero or even substantial time
|
||||
effort to review. There is a huge lack of active reviewers on the project, so
|
||||
patches often sit for a long time.
|
||||
-->
|
||||
|
|
|
|||
36
.gitignore
vendored
36
.gitignore
vendored
|
|
@ -1,14 +1,18 @@
|
|||
*.tar.gz
|
||||
|
||||
*.exe
|
||||
*.pdb
|
||||
src/elements
|
||||
src/elementsd
|
||||
src/elements-cli
|
||||
src/elements-gui
|
||||
src/elements-node
|
||||
src/elements-tx
|
||||
src/elements-wallet
|
||||
src/test/fuzz/*
|
||||
!src/test/fuzz/*.*
|
||||
src/test/test_bitcoin
|
||||
src/test/test_bitcoin_fuzzy
|
||||
src/qt/test/test_bitcoin-qt
|
||||
src/qt/test/test_elements-qt
|
||||
|
||||
# autoreconf
|
||||
Makefile.in
|
||||
|
|
@ -27,6 +31,7 @@ build-aux/m4/ltversion.m4
|
|||
build-aux/missing
|
||||
build-aux/compile
|
||||
build-aux/test-driver
|
||||
config.cache
|
||||
config.log
|
||||
config.status
|
||||
configure
|
||||
|
|
@ -34,6 +39,7 @@ libtool
|
|||
src/config/bitcoin-config.h
|
||||
src/config/bitcoin-config.h.in
|
||||
src/config/stamp-h1
|
||||
src/obj
|
||||
share/setup.nsi
|
||||
share/qt/Info.plist
|
||||
|
||||
|
|
@ -62,10 +68,10 @@ src/qt/bitcoin-qt.includes
|
|||
*.pyc
|
||||
*.o
|
||||
*.o-*
|
||||
*.patch
|
||||
*.a
|
||||
*.pb.cc
|
||||
*.pb.h
|
||||
*.dat
|
||||
|
||||
*.log
|
||||
*.trs
|
||||
|
|
@ -74,6 +80,10 @@ src/qt/bitcoin-qt.includes
|
|||
*.json.h
|
||||
*.raw.h
|
||||
|
||||
# Only ignore unexpected patches
|
||||
*.patch
|
||||
!depends/patches/**/*.patch
|
||||
|
||||
#libtool object files
|
||||
*.lo
|
||||
*.la
|
||||
|
|
@ -81,10 +91,14 @@ src/qt/bitcoin-qt.includes
|
|||
# Compilation and Qt preprocessor part
|
||||
*.qm
|
||||
Makefile
|
||||
elements-qt
|
||||
!depends/Makefile
|
||||
src/qt/elements-qt
|
||||
Elements-Qt.app
|
||||
background.tiff*
|
||||
|
||||
# Qt Creator
|
||||
Makefile.am.user
|
||||
|
||||
# Unit-tests
|
||||
Makefile.test
|
||||
bitcoin-qt_test
|
||||
|
|
@ -96,13 +110,19 @@ qrc_*.cpp
|
|||
.DS_Store
|
||||
build
|
||||
|
||||
# Previous releases
|
||||
releases
|
||||
|
||||
#lcov
|
||||
*.gcno
|
||||
*.gcda
|
||||
/*.info
|
||||
test_bitcoin.coverage/
|
||||
total.coverage/
|
||||
fuzz.coverage/
|
||||
coverage_percent.txt
|
||||
/cov_tool_wrapper.sh
|
||||
qa-assets/
|
||||
|
||||
#build tests
|
||||
linux-coverage-build
|
||||
|
|
@ -110,6 +130,7 @@ linux-build
|
|||
win32-build
|
||||
test/config.ini
|
||||
test/cache/*
|
||||
test/.mypy_cache/
|
||||
|
||||
!src/leveldb*/Makefile
|
||||
|
||||
|
|
@ -120,3 +141,10 @@ contrib/devtools/split-debug.sh
|
|||
|
||||
# Output from running db4 installation
|
||||
db4/
|
||||
|
||||
# clang-check
|
||||
*.plist
|
||||
|
||||
osx_volname
|
||||
dist/
|
||||
*.background.tiff
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.4.9
|
||||
3.5.6
|
||||
|
|
|
|||
261
.style.yapf
Normal file
261
.style.yapf
Normal file
|
|
@ -0,0 +1,261 @@
|
|||
[style]
|
||||
# Align closing bracket with visual indentation.
|
||||
align_closing_bracket_with_visual_indent=True
|
||||
|
||||
# Allow dictionary keys to exist on multiple lines. For example:
|
||||
#
|
||||
# x = {
|
||||
# ('this is the first element of a tuple',
|
||||
# 'this is the second element of a tuple'):
|
||||
# value,
|
||||
# }
|
||||
allow_multiline_dictionary_keys=False
|
||||
|
||||
# Allow lambdas to be formatted on more than one line.
|
||||
allow_multiline_lambdas=False
|
||||
|
||||
# Allow splits before the dictionary value.
|
||||
allow_split_before_dict_value=True
|
||||
|
||||
# Number of blank lines surrounding top-level function and class
|
||||
# definitions.
|
||||
blank_lines_around_top_level_definition=2
|
||||
|
||||
# Insert a blank line before a class-level docstring.
|
||||
blank_line_before_class_docstring=False
|
||||
|
||||
# Insert a blank line before a module docstring.
|
||||
blank_line_before_module_docstring=False
|
||||
|
||||
# Insert a blank line before a 'def' or 'class' immediately nested
|
||||
# within another 'def' or 'class'. For example:
|
||||
#
|
||||
# class Foo:
|
||||
# # <------ this blank line
|
||||
# def method():
|
||||
# ...
|
||||
blank_line_before_nested_class_or_def=False
|
||||
|
||||
# Do not split consecutive brackets. Only relevant when
|
||||
# dedent_closing_brackets is set. For example:
|
||||
#
|
||||
# call_func_that_takes_a_dict(
|
||||
# {
|
||||
# 'key1': 'value1',
|
||||
# 'key2': 'value2',
|
||||
# }
|
||||
# )
|
||||
#
|
||||
# would reformat to:
|
||||
#
|
||||
# call_func_that_takes_a_dict({
|
||||
# 'key1': 'value1',
|
||||
# 'key2': 'value2',
|
||||
# })
|
||||
coalesce_brackets=False
|
||||
|
||||
# The column limit.
|
||||
column_limit=160
|
||||
|
||||
# The style for continuation alignment. Possible values are:
|
||||
#
|
||||
# - SPACE: Use spaces for continuation alignment. This is default behavior.
|
||||
# - FIXED: Use fixed number (CONTINUATION_INDENT_WIDTH) of columns
|
||||
# (ie: CONTINUATION_INDENT_WIDTH/INDENT_WIDTH tabs) for continuation
|
||||
# alignment.
|
||||
# - LESS: Slightly left if cannot vertically align continuation lines with
|
||||
# indent characters.
|
||||
# - VALIGN-RIGHT: Vertically align continuation lines with indent
|
||||
# characters. Slightly right (one more indent character) if cannot
|
||||
# vertically align continuation lines with indent characters.
|
||||
#
|
||||
# For options FIXED, and VALIGN-RIGHT are only available when USE_TABS is
|
||||
# enabled.
|
||||
continuation_align_style=SPACE
|
||||
|
||||
# Indent width used for line continuations.
|
||||
continuation_indent_width=4
|
||||
|
||||
# Put closing brackets on a separate line, dedented, if the bracketed
|
||||
# expression can't fit in a single line. Applies to all kinds of brackets,
|
||||
# including function definitions and calls. For example:
|
||||
#
|
||||
# config = {
|
||||
# 'key1': 'value1',
|
||||
# 'key2': 'value2',
|
||||
# } # <--- this bracket is dedented and on a separate line
|
||||
#
|
||||
# time_series = self.remote_client.query_entity_counters(
|
||||
# entity='dev3246.region1',
|
||||
# key='dns.query_latency_tcp',
|
||||
# transform=Transformation.AVERAGE(window=timedelta(seconds=60)),
|
||||
# start_ts=now()-timedelta(days=3),
|
||||
# end_ts=now(),
|
||||
# ) # <--- this bracket is dedented and on a separate line
|
||||
dedent_closing_brackets=False
|
||||
|
||||
# Disable the heuristic which places each list element on a separate line
|
||||
# if the list is comma-terminated.
|
||||
disable_ending_comma_heuristic=False
|
||||
|
||||
# Place each dictionary entry onto its own line.
|
||||
each_dict_entry_on_separate_line=True
|
||||
|
||||
# The regex for an i18n comment. The presence of this comment stops
|
||||
# reformatting of that line, because the comments are required to be
|
||||
# next to the string they translate.
|
||||
i18n_comment=
|
||||
|
||||
# The i18n function call names. The presence of this function stops
|
||||
# reformattting on that line, because the string it has cannot be moved
|
||||
# away from the i18n comment.
|
||||
i18n_function_call=
|
||||
|
||||
# Indent the dictionary value if it cannot fit on the same line as the
|
||||
# dictionary key. For example:
|
||||
#
|
||||
# config = {
|
||||
# 'key1':
|
||||
# 'value1',
|
||||
# 'key2': value1 +
|
||||
# value2,
|
||||
# }
|
||||
indent_dictionary_value=False
|
||||
|
||||
# The number of columns to use for indentation.
|
||||
indent_width=4
|
||||
|
||||
# Join short lines into one line. E.g., single line 'if' statements.
|
||||
join_multiple_lines=True
|
||||
|
||||
# Do not include spaces around selected binary operators. For example:
|
||||
#
|
||||
# 1 + 2 * 3 - 4 / 5
|
||||
#
|
||||
# will be formatted as follows when configured with "*,/":
|
||||
#
|
||||
# 1 + 2*3 - 4/5
|
||||
#
|
||||
no_spaces_around_selected_binary_operators=
|
||||
|
||||
# Use spaces around default or named assigns.
|
||||
spaces_around_default_or_named_assign=False
|
||||
|
||||
# Use spaces around the power operator.
|
||||
spaces_around_power_operator=False
|
||||
|
||||
# The number of spaces required before a trailing comment.
|
||||
spaces_before_comment=2
|
||||
|
||||
# Insert a space between the ending comma and closing bracket of a list,
|
||||
# etc.
|
||||
space_between_ending_comma_and_closing_bracket=True
|
||||
|
||||
# Split before arguments
|
||||
split_all_comma_separated_values=False
|
||||
|
||||
# Split before arguments if the argument list is terminated by a
|
||||
# comma.
|
||||
split_arguments_when_comma_terminated=False
|
||||
|
||||
# Set to True to prefer splitting before '&', '|' or '^' rather than
|
||||
# after.
|
||||
split_before_bitwise_operator=True
|
||||
|
||||
# Split before the closing bracket if a list or dict literal doesn't fit on
|
||||
# a single line.
|
||||
split_before_closing_bracket=True
|
||||
|
||||
# Split before a dictionary or set generator (comp_for). For example, note
|
||||
# the split before the 'for':
|
||||
#
|
||||
# foo = {
|
||||
# variable: 'Hello world, have a nice day!'
|
||||
# for variable in bar if variable != 42
|
||||
# }
|
||||
split_before_dict_set_generator=True
|
||||
|
||||
# Split before the '.' if we need to split a longer expression:
|
||||
#
|
||||
# foo = ('This is a really long string: {}, {}, {}, {}'.format(a, b, c, d))
|
||||
#
|
||||
# would reformat to something like:
|
||||
#
|
||||
# foo = ('This is a really long string: {}, {}, {}, {}'
|
||||
# .format(a, b, c, d))
|
||||
split_before_dot=False
|
||||
|
||||
# Split after the opening paren which surrounds an expression if it doesn't
|
||||
# fit on a single line.
|
||||
split_before_expression_after_opening_paren=False
|
||||
|
||||
# If an argument / parameter list is going to be split, then split before
|
||||
# the first argument.
|
||||
split_before_first_argument=False
|
||||
|
||||
# Set to True to prefer splitting before 'and' or 'or' rather than
|
||||
# after.
|
||||
split_before_logical_operator=True
|
||||
|
||||
# Split named assignments onto individual lines.
|
||||
split_before_named_assigns=True
|
||||
|
||||
# Set to True to split list comprehensions and generators that have
|
||||
# non-trivial expressions and multiple clauses before each of these
|
||||
# clauses. For example:
|
||||
#
|
||||
# result = [
|
||||
# a_long_var + 100 for a_long_var in xrange(1000)
|
||||
# if a_long_var % 10]
|
||||
#
|
||||
# would reformat to something like:
|
||||
#
|
||||
# result = [
|
||||
# a_long_var + 100
|
||||
# for a_long_var in xrange(1000)
|
||||
# if a_long_var % 10]
|
||||
split_complex_comprehension=False
|
||||
|
||||
# The penalty for splitting right after the opening bracket.
|
||||
split_penalty_after_opening_bracket=30
|
||||
|
||||
# The penalty for splitting the line after a unary operator.
|
||||
split_penalty_after_unary_operator=10000
|
||||
|
||||
# The penalty for splitting right before an if expression.
|
||||
split_penalty_before_if_expr=0
|
||||
|
||||
# The penalty of splitting the line around the '&', '|', and '^'
|
||||
# operators.
|
||||
split_penalty_bitwise_operator=300
|
||||
|
||||
# The penalty for splitting a list comprehension or generator
|
||||
# expression.
|
||||
split_penalty_comprehension=80
|
||||
|
||||
# The penalty for characters over the column limit.
|
||||
split_penalty_excess_character=7000
|
||||
|
||||
# The penalty incurred by adding a line split to the unwrapped line. The
|
||||
# more line splits added the higher the penalty.
|
||||
split_penalty_for_added_line_split=30
|
||||
|
||||
# The penalty of splitting a list of "import as" names. For example:
|
||||
#
|
||||
# from a_very_long_or_indented_module_name_yada_yad import (long_argument_1,
|
||||
# long_argument_2,
|
||||
# long_argument_3)
|
||||
#
|
||||
# would reformat to something like:
|
||||
#
|
||||
# from a_very_long_or_indented_module_name_yada_yad import (
|
||||
# long_argument_1, long_argument_2, long_argument_3)
|
||||
split_penalty_import_names=0
|
||||
|
||||
# The penalty of splitting the line around the 'and' and 'or'
|
||||
# operators.
|
||||
split_penalty_logical_operator=300
|
||||
|
||||
# Use the Tab character for indentation.
|
||||
use_tabs=False
|
||||
|
||||
222
.travis.yml
222
.travis.yml
|
|
@ -1,23 +1,9 @@
|
|||
# The test build matrix (stage: test) is constructed to test a wide range of
|
||||
# configurations, rather than a single pass/fail. This helps to catch build
|
||||
# failures and logic errors that present on platforms other than the ones the
|
||||
# author has tested.
|
||||
#
|
||||
# Some builders use the dependency-generator in `./depends`, rather than using
|
||||
# apt-get to install build dependencies. This guarantees that the tester is
|
||||
# using the same versions as Gitian, so the build results are nearly identical
|
||||
# to what would be found in a final release.
|
||||
#
|
||||
# In order to avoid rebuilding all dependencies for each build, the binaries
|
||||
# are cached and re-used when possible. Changes in the dependency-generator
|
||||
# will trigger cache-invalidation and rebuilds as necessary.
|
||||
#
|
||||
# These caches can be manually removed if necessary. This is one of the very
|
||||
# Travis caches can be manually removed if necessary. This is one of the very
|
||||
# few manual operations that is possible with Travis, and it can be done by a
|
||||
# Bitcoin Core GitHub member via the Travis web interface [0].
|
||||
#
|
||||
# Travis CI uploads the cache after the script phase of the build [1].
|
||||
# However, the build is terminated without saving the chache if it takes over
|
||||
# However, the build is terminated without saving the cache if it takes over
|
||||
# 50 minutes [2]. Thus, if we spent too much time in early build stages, fail
|
||||
# with an error and save the cache.
|
||||
#
|
||||
|
|
@ -25,203 +11,67 @@
|
|||
# [1] https://docs.travis-ci.com/user/caching/#build-phases
|
||||
# [2] https://docs.travis-ci.com/user/customizing-the-build#build-timeouts
|
||||
|
||||
dist: xenial
|
||||
version: ~> 1.0
|
||||
|
||||
dist: bionic
|
||||
os: linux
|
||||
language: minimal
|
||||
arch: amd64
|
||||
cache:
|
||||
ccache: true
|
||||
directories:
|
||||
- depends/built
|
||||
- depends/sdk-sources
|
||||
- $HOME/.ccache
|
||||
- $TRAVIS_BUILD_DIR/depends/built
|
||||
- $TRAVIS_BUILD_DIR/depends/sdk-sources
|
||||
- $TRAVIS_BUILD_DIR/ci/scratch/.ccache
|
||||
- $TRAVIS_BUILD_DIR/releases/$HOST
|
||||
stages:
|
||||
- lint
|
||||
- test
|
||||
env:
|
||||
global:
|
||||
- MAKEJOBS=-j3
|
||||
- RUN_UNIT_TESTS=true
|
||||
- RUN_FUNCTIONAL_TESTS=true
|
||||
- RUN_FUZZ_TESTS=false
|
||||
- DOCKER_NAME_TAG=ubuntu:18.04
|
||||
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
|
||||
- CCACHE_SIZE=100M
|
||||
- CCACHE_TEMPDIR=/tmp/.ccache-temp
|
||||
- CCACHE_COMPRESS=1
|
||||
- CCACHE_DIR=$HOME/.ccache
|
||||
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
|
||||
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
|
||||
- COMMON_PACKAGES="icnsutils librsvg2-bin imagemagick"
|
||||
- WINEDEBUG=fixme-all
|
||||
- DOCKER_PACKAGES="build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache"
|
||||
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. Please manually re-run this job by using the travis restart button or asking a bitcoin maintainer to restart. The next run should not time out because the build cache has been saved."
|
||||
- CI_RETRY_EXE="travis_retry"
|
||||
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. See https://docs.travis-ci.com/user/customizing-the-build#build-timeouts . Please manually re-run this job by using the travis restart button. The next run should not time out because the build cache has been saved."
|
||||
before_install:
|
||||
- set -o errexit; source .travis/test_03_before_install.sh
|
||||
- set -o errexit; source ./ci/test/00_setup_env.sh
|
||||
- set -o errexit; source ./ci/test/03_before_install.sh
|
||||
install:
|
||||
- set -o errexit; source .travis/test_04_install.sh
|
||||
- set -o errexit; source ./ci/test/04_install.sh
|
||||
before_script:
|
||||
- set -o errexit; source .travis/test_05_before_script.sh
|
||||
# Temporary workaround for https://github.com/bitcoin/bitcoin/issues/16368
|
||||
- for i in {1..4}; do echo "$(sleep 500)" ; done &
|
||||
- set -o errexit; source ./ci/test/05_before_script.sh &> "/dev/null"
|
||||
script:
|
||||
- export CONTINUE=1
|
||||
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
|
||||
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/test_06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
|
||||
- if [ $SECONDS -gt 1800 ]; then export CONTINUE=0; fi # Likely the build took very long
|
||||
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/test_06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
|
||||
- if [ $TRAVIS_REPO_SLUG = "bitcoin/bitcoin" ]; then export CONTINUE=1; fi # continue on repos with extended build time (90 minutes)
|
||||
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
|
||||
- if [[ $SECONDS -gt 50*60-$EXPECTED_TESTS_DURATION_IN_SECONDS ]]; then export CONTINUE=0; fi
|
||||
- if [ $TRAVIS_REPO_SLUG = "bitcoin/bitcoin" ]; then export CONTINUE=1; fi # continue on repos with extended build time (90 minutes)
|
||||
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
|
||||
after_script:
|
||||
- echo $TRAVIS_COMMIT_RANGE
|
||||
- echo $TRAVIS_COMMIT_LOG
|
||||
jobs:
|
||||
include:
|
||||
|
||||
- stage: lint
|
||||
name: 'lint'
|
||||
env:
|
||||
cache: false
|
||||
cache: pip
|
||||
language: python
|
||||
python: '3.4' # Oldest supported version according to doc/dependencies.md
|
||||
python: '3.5' # Oldest supported version according to doc/dependencies.md
|
||||
install:
|
||||
- set -o errexit; source .travis/lint_04_install.sh
|
||||
- set -o errexit; source ./ci/lint/04_install.sh
|
||||
before_script:
|
||||
- set -o errexit; source .travis/lint_05_before_script.sh
|
||||
- set -o errexit; source ./ci/lint/05_before_script.sh
|
||||
script:
|
||||
- set -o errexit; source .travis/lint_06_script.sh
|
||||
- set -o errexit; source ./ci/lint/06_script.sh
|
||||
|
||||
# Disabled due to new Travis restrictions; will be removed as part of 0.22 rebase
|
||||
# - stage: test
|
||||
# name: '32-bit + dash [GOAL: install] [CentOS 7] [gui]'
|
||||
# env: >-
|
||||
# FILE_ENV="./ci/test/00_setup_env_i686_centos.sh"
|
||||
|
||||
- stage: test
|
||||
name: 'ARM [GOAL: install] [no unit or functional tests]'
|
||||
name: 'x86_64 Linux [GOAL: install] [xenial] [no wallet]'
|
||||
env: >-
|
||||
HOST=arm-linux-gnueabihf
|
||||
PACKAGES="python3 g++-arm-linux-gnueabihf"
|
||||
RUN_UNIT_TESTS=false
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
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
|
||||
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"
|
||||
|
||||
- stage: test
|
||||
name: 'Win32 [GOAL: deploy] [no gui or functional tests]'
|
||||
env: >-
|
||||
HOST=i686-w64-mingw32
|
||||
DPKG_ADD_ARCH="i386"
|
||||
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32"
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
GOAL="deploy"
|
||||
BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests"
|
||||
RUN_UNIT_TESTS=false # secp-zkp times out Travis, get 32-bit build in upstream?
|
||||
# Win64
|
||||
- stage: test
|
||||
name: 'Win64 [GOAL: deploy] [no gui or functional tests]'
|
||||
env: >-
|
||||
HOST=x86_64-w64-mingw32
|
||||
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
GOAL="deploy"
|
||||
BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests"
|
||||
|
||||
- stage: test
|
||||
name: '32-bit + dash [GOAL: install] [GUI: no BIP70]'
|
||||
env: >-
|
||||
HOST=i686-pc-linux-gnu
|
||||
PACKAGES="g++-multilib python3-zmq"
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --disable-bip70 --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
|
||||
CONFIG_SHELL="/bin/dash"
|
||||
RUN_UNIT_TESTS=false # secp-zkp times out Travis, get 32-bit build in upstream?
|
||||
# x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout), no functional tests
|
||||
- stage: test
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
|
||||
DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-debug CXXFLAGS=\"-g0 -O2\""
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
# x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout), no unit tests
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bionic] [uses qt5 dev package instead of depends Qt to speed up build and avoid timeout]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
|
||||
DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-debug CXXFLAGS=\"-g0 -O2\""
|
||||
RUN_UNIT_TESTS=false
|
||||
# x86_64 Linux (xenial, no depends, only system libs)
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [xenial] [no depends, only system libs, sanitizers: thread (TSan), no wallet]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
DOCKER_NAME_TAG=ubuntu:16.04
|
||||
PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
||||
NO_DEPENDS=1
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --disable-wallet --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=thread --disable-hardening --disable-asm CC=clang CXX=clang++"
|
||||
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
||||
NO_DEPENDS=1
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=integer,undefined CC=clang CXX=clang++"
|
||||
# x86_64 Linux, No wallet, no QT(build timing out with for some reason)
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bionic] [no wallet]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="python3"
|
||||
DEP_OPTS="NO_WALLET=1 NO_QT=1"
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
|
||||
|
||||
- stage: test
|
||||
name: 'macOS 10.10 [GOAL: deploy] [no functional tests]'
|
||||
env: >-
|
||||
HOST=x86_64-apple-darwin14
|
||||
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
|
||||
OSX_SDK=10.11
|
||||
RUN_UNIT_TESTS=false
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
GOAL="deploy"
|
||||
BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror"
|
||||
|
||||
# x86_64 Linux w/ Bitcoin functional tests (Qt5 & system libs)
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bitcoin functional]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
||||
NO_DEPENDS=1
|
||||
RUN_UNIT_TESTS=false
|
||||
RUN_BITCOIN_TESTS=true
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"
|
||||
|
||||
# x86_64 Linux w/ single fedpeg test that uses upstream bitcoind as mainchain
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bitcoind fedpeg test]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
|
||||
NO_DEPENDS=1
|
||||
RUN_UNIT_TESTS=false
|
||||
RUN_BITCOIN_TESTS=false
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
RUN_FEDPEG_BITCOIND_TEST=true
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=no --disable-tests --disable-bench CPPFLAGS=-DDEBUG_LOCKORDER"
|
||||
# x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout), no functional tests, LIQUID BUILD
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [liquid build]'
|
||||
env: >-
|
||||
HOST=x86_64-unknown-linux-gnu
|
||||
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
|
||||
DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
|
||||
GOAL="install"
|
||||
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-debug --enable-liquid CXXFLAGS=\"-g0 -O2\""
|
||||
RUN_FUNCTIONAL_TESTS=false
|
||||
|
||||
FILE_ENV="./ci/test/00_setup_env_native_nowallet.sh"
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
## travis build scripts
|
||||
|
||||
The `.travis` directory contains scripts for each build step in each build stage.
|
||||
Currently the travis build defines two stages `lint` and `test`. Each stage has
|
||||
it's own [lifecycle](https://docs.travis-ci.com/user/customizing-the-build/#the-build-lifecycle).
|
||||
Every script in here is named and numbered according to which stage and lifecycle
|
||||
step it belongs to.
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
travis_retry pip install codespell==1.13.0
|
||||
travis_retry pip install flake8==3.5.0
|
||||
travis_retry pip install vulture==0.29
|
||||
|
||||
SHELLCHECK_VERSION=v0.6.0
|
||||
SHELLCHECK_URL="https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz"
|
||||
curl -Ls "${SHELLCHECK_URL}" | tar --xz -xf - --directory /tmp/
|
||||
export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}"
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
travis_retry docker pull "$DOCKER_NAME_TAG"
|
||||
|
||||
export DIR_FUZZ_IN=${TRAVIS_BUILD_DIR}/qa-assets
|
||||
git clone https://github.com/bitcoin-core/qa-assets ${DIR_FUZZ_IN}
|
||||
export DIR_FUZZ_IN=${DIR_FUZZ_IN}/fuzz_seed_corpus/
|
||||
|
||||
mkdir -p "${TRAVIS_BUILD_DIR}/sanitizer-output/"
|
||||
export ASAN_OPTIONS=""
|
||||
export LSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/test/sanitizer_suppressions/lsan"
|
||||
export TSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/test/sanitizer_suppressions/tsan:log_path=${TRAVIS_BUILD_DIR}/sanitizer-output/tsan"
|
||||
export UBSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1"
|
||||
env | grep -E '^(BITCOIN_CONFIG|CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL|(ASAN|LSAN|TSAN|UBSAN)_OPTIONS)' | tee /tmp/env
|
||||
if [[ $HOST = *-mingw32 ]]; then
|
||||
DOCKER_ADMIN="--cap-add SYS_ADMIN"
|
||||
elif [[ $BITCOIN_CONFIG = *--with-sanitizers=*address* ]]; then # If ran with (ASan + LSan), Docker needs access to ptrace (https://github.com/google/sanitizers/issues/764)
|
||||
DOCKER_ADMIN="--cap-add SYS_PTRACE"
|
||||
fi
|
||||
DOCKER_ID=$(docker run $DOCKER_ADMIN -idt --mount type=bind,src=$TRAVIS_BUILD_DIR,dst=$TRAVIS_BUILD_DIR --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR -w $TRAVIS_BUILD_DIR --env-file /tmp/env $DOCKER_NAME_TAG)
|
||||
|
||||
DOCKER_EXEC () {
|
||||
docker exec $DOCKER_ID bash -c "cd $PWD && $*"
|
||||
}
|
||||
|
||||
if [ -n "$DPKG_ADD_ARCH" ]; then
|
||||
DOCKER_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH"
|
||||
fi
|
||||
|
||||
travis_retry DOCKER_EXEC apt-get update
|
||||
travis_retry DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -qq $COMMON_PACKAGES $PACKAGES $DOCKER_PACKAGES
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
DOCKER_EXEC echo \> \$HOME/.elements # Make sure default datadir does not exist and is never read by creating a dummy file
|
||||
|
||||
mkdir -p depends/SDKs depends/sdk-sources
|
||||
|
||||
if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
|
||||
curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
|
||||
fi
|
||||
if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
|
||||
tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
|
||||
fi
|
||||
if [[ $HOST = *-mingw32 ]]; then
|
||||
DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\)
|
||||
fi
|
||||
if [ -z "$NO_DEPENDS" ]; then
|
||||
DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
|
||||
fi
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
TRAVIS_COMMIT_LOG=$(git log --format=fuller -1)
|
||||
export TRAVIS_COMMIT_LOG
|
||||
|
||||
OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
|
||||
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
|
||||
if [ -z "$NO_DEPENDS" ]; then
|
||||
DOCKER_EXEC ccache --max-size=$CCACHE_SIZE
|
||||
fi
|
||||
|
||||
BEGIN_FOLD autogen
|
||||
if [ -n "$CONFIG_SHELL" ]; then
|
||||
DOCKER_EXEC "$CONFIG_SHELL" -c "./autogen.sh"
|
||||
else
|
||||
DOCKER_EXEC ./autogen.sh
|
||||
fi
|
||||
END_FOLD
|
||||
|
||||
mkdir build
|
||||
cd build || (echo "could not enter build directory"; exit 1)
|
||||
|
||||
BEGIN_FOLD configure
|
||||
DOCKER_EXEC ../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
||||
END_FOLD
|
||||
|
||||
BEGIN_FOLD distdir
|
||||
DOCKER_EXEC make distdir VERSION=$HOST
|
||||
END_FOLD
|
||||
|
||||
cd "elements-$HOST" || (echo "could not enter distdir elemenst-$HOST"; exit 1)
|
||||
|
||||
BEGIN_FOLD configure
|
||||
DOCKER_EXEC ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
|
||||
END_FOLD
|
||||
|
||||
set -o errtrace
|
||||
trap 'DOCKER_EXEC "cat ${TRAVIS_BUILD_DIR}/sanitizer-output/* 2> /dev/null"' ERR
|
||||
|
||||
BEGIN_FOLD build
|
||||
DOCKER_EXEC make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && DOCKER_EXEC make $GOAL V=1 ; false )
|
||||
END_FOLD
|
||||
|
||||
cd ${TRAVIS_BUILD_DIR} || (echo "could not enter travis build dir $TRAVIS_BUILD_DIR"; exit 1)
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
cd "build/elements-$HOST" || (echo "could not enter distdir build/bitcoin-$HOST"; exit 1)
|
||||
|
||||
if [ "$RUN_UNIT_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD unit-tests
|
||||
DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD functional-tests
|
||||
DOCKER_EXEC test/functional/test_runner.py --ci --combinedlogslen=4000 --coverage --quiet --failfast
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_FUZZ_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD fuzz-tests
|
||||
DOCKER_EXEC test/fuzz/test_runner.py -l DEBUG ${DIR_FUZZ_IN}
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_UNIT_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD unit-tests
|
||||
DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_BITCOIN_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD bitcoin-functional-tests
|
||||
DOCKER_EXEC test/bitcoin_functional/functional/test_runner.py --combinedlogslen=4000 --coverage --quiet --failfast ${extended}
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_FEDPEG_BITCOIND_TEST" = "true" ]; then
|
||||
BEGIN_FOLD fedpeg-bitcoind-test
|
||||
BITCOIND_VERSION=0.18.0
|
||||
BITCOIND_ARCH=x86_64-linux-gnu
|
||||
DOCKER_EXEC curl -O https://bitcoincore.org/bin/bitcoin-core-$BITCOIND_VERSION/bitcoin-$BITCOIND_VERSION-$BITCOIND_ARCH.tar.gz
|
||||
DOCKER_EXEC tar -zxf bitcoin-$BITCOIND_VERSION-$BITCOIND_ARCH.tar.gz
|
||||
DOCKER_EXEC test/functional/feature_fedpeg.py --parent_bitcoin --parent_binpath $(pwd)/bitcoin-$BITCOIND_VERSION/bin/bitcoind
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then
|
||||
extended="--extended --exclude feature_pruning"
|
||||
fi
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[bitcoin.qt-translation-018x]
|
||||
[bitcoin.qt-translation-021x]
|
||||
file_filter = src/qt/locale/bitcoin_<lang>.ts
|
||||
source_file = src/qt/locale/bitcoin_en.ts
|
||||
source_lang = en
|
||||
|
|
|
|||
136
CODEOWNERS
Normal file
136
CODEOWNERS
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
# ==============================================================================
|
||||
# Bitcoin Core CODEOWNERS
|
||||
# ==============================================================================
|
||||
|
||||
# Configuration of code ownership and review approvals for the bitcoin/bitcoin
|
||||
# repo.
|
||||
|
||||
# Order is important; the last matching pattern takes the most precedence.
|
||||
# More info on how this file works can be found at:
|
||||
# https://help.github.com/articles/about-codeowners/
|
||||
|
||||
# This file is called CODEOWNERS because it is a magic file for GitHub to
|
||||
# automatically suggest reviewers. In this project's case, the names below
|
||||
# should be thought of as code reviewers rather than owners. Regular
|
||||
# contributors are free to add their names to specific directories or files
|
||||
# provided that they are willing to provide a review when automatically
|
||||
# assigned.
|
||||
|
||||
# Absence from this list should not be interpreted as a discouragement to
|
||||
# review a pull request. Peer review is always welcome and is a critical
|
||||
# component of the progress of the codebase. Information on peer review
|
||||
# guidelines can be found in the CONTRIBUTING.md doc.
|
||||
|
||||
|
||||
# Maintainers
|
||||
# @laanwj
|
||||
# @sipa
|
||||
# @fanquake
|
||||
# @jonasschnelli
|
||||
# @marcofalke
|
||||
# @meshcollider
|
||||
|
||||
# Docs
|
||||
/doc/*[a-zA-Z-].md @harding
|
||||
/doc/Doxyfile.in @fanquake
|
||||
/doc/REST-interface.md @jonasschnelli
|
||||
/doc/benchmarking.md @ariard
|
||||
/doc/bitcoin-conf.md @hebasto
|
||||
/doc/build-freebsd.md @fanquake
|
||||
/doc/build-netbsd.md @fanquake
|
||||
/doc/build-openbsd.md @laanwj
|
||||
/doc/build-osx.md @fanquake
|
||||
/doc/build-unix.md @laanwj
|
||||
/doc/build-windows.md @sipsorcery
|
||||
/doc/dependencies.md @fanquake
|
||||
/doc/developer-notes.md @laanwj
|
||||
/doc/files.md @hebasto
|
||||
/doc/gitian-building.md @laanwj
|
||||
/doc/reduce-memory.md @fanquake
|
||||
/doc/reduce-traffic.md @jonasschnelli
|
||||
/doc/release-process.md @laanwj
|
||||
/doc/translation_strings_policy.md @laanwj
|
||||
|
||||
# Build aux
|
||||
/build-aux/m4/bitcoin_qt.m4 @hebasto
|
||||
|
||||
# MSVC build system
|
||||
/build_msvc/ @sipsorcery
|
||||
|
||||
# Settings
|
||||
/src/util/settings.* @ryanofsky
|
||||
|
||||
# Fuzzing
|
||||
/src/test/fuzz/ @practicalswift
|
||||
/doc/fuzzing.md @practicalswift
|
||||
|
||||
# Test framework
|
||||
/test/functional/mempool_updatefromblock.py @hebasto
|
||||
/test/functional/feature_asmap.py @jonatack
|
||||
/test/functional/interface_bitcoin_cli.py @jonatack
|
||||
/test/functional/tool_wallet.py @jonatack
|
||||
|
||||
# Translations
|
||||
/src/util/translation.h @hebasto
|
||||
|
||||
# Dev Tools
|
||||
/contrib/devtools/security-check.py @fanquake
|
||||
/contrib/devtools/test-security-check.py @fanquake
|
||||
/contrib/devtools/symbol-check.py @fanquake
|
||||
|
||||
# Gitian/Guix
|
||||
/contrib/gitian-build.py @hebasto
|
||||
/contrib/guix/ @dongcarl
|
||||
|
||||
# Compatibility
|
||||
/src/compat/glibc_* @fanquake
|
||||
|
||||
# GUI
|
||||
/src/qt/forms/ @hebasto
|
||||
|
||||
# Wallet
|
||||
/src/wallet/ @achow101
|
||||
|
||||
# CLI
|
||||
/src/bitcoin-cli.cpp @jonatack
|
||||
|
||||
# Coinstats
|
||||
/src/node/coinstats.* @fjahr
|
||||
|
||||
# Index
|
||||
/src/index/ @fjahr
|
||||
|
||||
# Descriptors
|
||||
*descriptor* @achow101 @sipa
|
||||
|
||||
# Interfaces
|
||||
/src/interfaces/ @ryanofsky
|
||||
|
||||
# DB
|
||||
/src/txdb.* @jamesob
|
||||
/src/dbwrapper.* @jamesob
|
||||
|
||||
# Scripts/Linter
|
||||
*.sh @practicalswift
|
||||
/test/lint/ @practicalswift
|
||||
/test/lint/lint-shell.sh @hebasto
|
||||
|
||||
# Bech32
|
||||
/src/bech32.* @sipa
|
||||
/src/bench/bech32.* @sipa
|
||||
|
||||
# PSBT
|
||||
/src/psbt* @achow101
|
||||
/src/node/psbt* @achow101
|
||||
/doc/psbt.md @achow101
|
||||
|
||||
# P2P
|
||||
/src/net_processing.* @sipa
|
||||
/src/protocol.* @sipa
|
||||
|
||||
# Consensus
|
||||
/src/coins.* @sipa @jamesob
|
||||
/src/script/script.* @sipa
|
||||
/src/script/interpreter.* @sipa
|
||||
/src/validation.* @sipa
|
||||
/src/consensus/ @sipa
|
||||
305
CONTRIBUTING.md
305
CONTRIBUTING.md
|
|
@ -6,34 +6,69 @@ welcome to contribute towards development in the form of peer review, testing
|
|||
and patches. This document explains the practical process and guidelines for
|
||||
contributing.
|
||||
|
||||
Firstly in terms of structure, there is no particular concept of "Core
|
||||
First, in terms of structure, there is no particular concept of "Bitcoin Core
|
||||
developers" in the sense of privileged people. Open source often naturally
|
||||
revolves around meritocracy where longer term contributors gain more trust from
|
||||
the developer community. However, some hierarchy is necessary for practical
|
||||
purposes. As such there are repository "maintainers" who are responsible for
|
||||
merging pull requests as well as a "lead maintainer" who is responsible for the
|
||||
release cycle, overall merging, moderation and appointment of maintainers.
|
||||
revolves around a meritocracy where contributors earn trust from the developer
|
||||
community over time. Nevertheless, some hierarchy is necessary for practical
|
||||
purposes. As such, there are repository "maintainers" who are responsible for
|
||||
merging pull requests, as well as a "lead maintainer" who is responsible for the
|
||||
release cycle as well as overall merging, moderation and appointment of
|
||||
maintainers.
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
New contributors are very welcome and needed.
|
||||
|
||||
Reviewing and testing is highly valued and the most effective way you can contribute
|
||||
as a new contributor. It also will teach you much more about the code and
|
||||
process than opening pull requests. Please refer to the [peer review](#peer-review)
|
||||
section below.
|
||||
|
||||
Before you start contributing, familiarize yourself with the Bitcoin Core build
|
||||
system and tests. Refer to the documentation in the repository on how to build
|
||||
Bitcoin Core and how to run the unit tests, functional tests, and fuzz tests.
|
||||
|
||||
There are many open issues of varying difficulty waiting to be fixed.
|
||||
If you're looking for somewhere to start contributing, check out the
|
||||
[good first issue](https://github.com/bitcoin/bitcoin/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
|
||||
list.
|
||||
list or changes that are
|
||||
[up for grabs](https://github.com/bitcoin/bitcoin/issues?utf8=%E2%9C%93&q=label%3A%22Up+for+grabs%22).
|
||||
Some of them might no longer be applicable. So if you are interested, but
|
||||
unsure, you might want to leave a comment on the issue first.
|
||||
|
||||
You may also participate in the weekly
|
||||
[Bitcoin Core PR Review Club](https://bitcoincore.reviews/) meeting.
|
||||
|
||||
### Good First Issue Label
|
||||
|
||||
The purpose of the `good first issue` label is to highlight which issues are
|
||||
suitable for a new contributor without a deep understanding of the codebase.
|
||||
|
||||
However, good first issues can be solved by anyone. If they remain unsolved
|
||||
for a longer time, a frequent contributor might address them.
|
||||
|
||||
You do not need to request permission to start working on an issue. However,
|
||||
you are encouraged to leave a comment if you are planning to work on it. This
|
||||
will help other contributors monitor which issues are actively being addressed
|
||||
and is also an effective way to request assistance if and when you need it.
|
||||
|
||||
Communication Channels
|
||||
----------------------
|
||||
|
||||
Most communication about Bitcoin Core development happens on IRC, in the
|
||||
#bitcoin-core-dev channel on Freenode. The easiest way to participate on IRC is
|
||||
`#bitcoin-core-dev` channel on Freenode. The easiest way to participate on IRC is
|
||||
with the web client, [webchat.freenode.net](https://webchat.freenode.net/). Chat
|
||||
history logs can be found
|
||||
on [http://www.erisian.com.au/bitcoin-core-dev/](http://www.erisian.com.au/bitcoin-core-dev/)
|
||||
and [http://gnusha.org/bitcoin-core-dev/](http://gnusha.org/bitcoin-core-dev/).
|
||||
|
||||
Discussion about code base improvements happens in GitHub issues and on pull
|
||||
Discussion about codebase improvements happens in GitHub issues and pull
|
||||
requests.
|
||||
|
||||
The developer
|
||||
[mailing list](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev)
|
||||
should be used to discuss complicated or controversial changes before working on
|
||||
should be used to discuss complicated or controversial consensus or P2P protocol changes before working on
|
||||
a patch set.
|
||||
|
||||
|
||||
|
|
@ -41,34 +76,59 @@ Contributor Workflow
|
|||
--------------------
|
||||
|
||||
The codebase is maintained using the "contributor workflow" where everyone
|
||||
without exception contributes patch proposals using "pull requests". This
|
||||
without exception contributes patch proposals using "pull requests" (PRs). This
|
||||
facilitates social contribution, easy testing and peer review.
|
||||
|
||||
To contribute a patch, the workflow is as follows:
|
||||
|
||||
1. Fork repository
|
||||
1. Fork repository ([only for the first time](https://help.github.com/en/articles/fork-a-repo))
|
||||
1. Create topic branch
|
||||
1. Commit patches
|
||||
|
||||
The project coding conventions in the [developer notes](doc/developer-notes.md)
|
||||
must be adhered to.
|
||||
For GUI-related issues or pull requests, the https://github.com/bitcoin-core/gui repository should be used.
|
||||
For all other issues and pull requests, the https://github.com/bitcoin/bitcoin node repository should be used.
|
||||
|
||||
In general [commits should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention)
|
||||
and diffs should be easy to read. For this reason do not mix any formatting
|
||||
The master branch for all monotree repositories is identical.
|
||||
|
||||
As a rule of thumb, everything that only modifies `src/qt` is a GUI-only pull
|
||||
request. However:
|
||||
|
||||
* For global refactoring or other transversal changes the node repository
|
||||
should be used.
|
||||
* For GUI-related build system changes, the node repository should be used
|
||||
because the change needs review by the build systems reviewers.
|
||||
* Changes in `src/interfaces` need to go to the node repository because they
|
||||
might affect other components like the wallet.
|
||||
|
||||
For large GUI changes that include build system and interface changes, it is
|
||||
recommended to first open a pull request against the GUI repository. When there
|
||||
is agreement to proceed with the changes, a pull request with the build system
|
||||
and interfaces changes can be submitted to the node repository.
|
||||
|
||||
The project coding conventions in the [developer notes](doc/developer-notes.md)
|
||||
must be followed.
|
||||
|
||||
### Committing Patches
|
||||
|
||||
In general, [commits should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention)
|
||||
and diffs should be easy to read. For this reason, do not mix any formatting
|
||||
fixes or code moves with actual code changes.
|
||||
|
||||
Make sure each individual commit is hygienic: that it builds successfully on its
|
||||
own without warnings, errors, regressions, or test failures.
|
||||
|
||||
Commit messages should be verbose by default consisting of a short subject line
|
||||
(50 chars max), a blank line and detailed explanatory text as separate
|
||||
paragraph(s), unless the title alone is self-explanatory (like "Corrected typo
|
||||
in init.cpp") in which case a single title line is sufficient. Commit messages should be
|
||||
helpful to people reading your code in the future, so explain the reasoning for
|
||||
your decisions. Further explanation [here](http://chris.beams.io/posts/git-commit/).
|
||||
your decisions. Further explanation [here](https://chris.beams.io/posts/git-commit/).
|
||||
|
||||
If a particular commit references another issue, please add the reference. For
|
||||
example: `refs #1234` or `fixes #4321`. Using the `fixes` or `closes` keywords
|
||||
will cause the corresponding issue to be closed when the pull request is merged.
|
||||
|
||||
Commit messages should never contain any `@` mentions.
|
||||
Commit messages should never contain any `@` mentions (usernames prefixed with "@").
|
||||
|
||||
Please refer to the [Git manual](https://git-scm.com/doc) for more information
|
||||
about Git.
|
||||
|
|
@ -76,58 +136,67 @@ about Git.
|
|||
- Push changes to your fork
|
||||
- Create pull request
|
||||
|
||||
### Creating the Pull Request
|
||||
|
||||
The title of the pull request should be prefixed by the component or area that
|
||||
the pull request affects. Valid areas as:
|
||||
|
||||
- *Consensus* for changes to consensus critical code
|
||||
- *Docs* for changes to the documentation
|
||||
- *Qt* for changes to elements-qt
|
||||
- *Mining* for changes to the mining code
|
||||
- *Net* or *P2P* for changes to the peer-to-peer network code
|
||||
- *RPC/REST/ZMQ* for changes to the RPC, REST or ZMQ APIs
|
||||
- *Scripts and tools* for changes to the scripts and tools
|
||||
- *Tests* for changes to the bitcoin unit tests or QA tests
|
||||
- *Trivial* should **only** be used for PRs that do not change generated
|
||||
executable code. Notably, refactors (change of function arguments and code
|
||||
reorganization) and changes in behavior should **not** be marked as trivial.
|
||||
Examples of trivial PRs are changes to:
|
||||
- comments
|
||||
- whitespace
|
||||
- variable names
|
||||
- logging and messages
|
||||
- *Utils and libraries* for changes to the utils and libraries
|
||||
- *Wallet* for changes to the wallet code
|
||||
- `consensus` for changes to consensus critical code
|
||||
- `doc` for changes to the documentation
|
||||
- `qt` or `gui` for changes to elements-qt
|
||||
- `log` for changes to log messages
|
||||
- `mining` for changes to the mining code
|
||||
- `net` or `p2p` for changes to the peer-to-peer network code
|
||||
- `refactor` for structural changes that do not change behavior
|
||||
- `rpc`, `rest` or `zmq` for changes to the RPC, REST or ZMQ APIs
|
||||
- `script` for changes to the scripts and tools
|
||||
- `test`, `qa` or `ci` for changes to the unit tests, QA tests or CI code
|
||||
- `util` or `lib` for changes to the utils or libraries
|
||||
- `wallet` for changes to the wallet code
|
||||
- `build` for changes to the GNU Autotools or reproducible builds
|
||||
|
||||
Examples:
|
||||
|
||||
Consensus: Add new opcode for BIP-XXXX OP_CHECKAWESOMESIG
|
||||
Net: Automatically create hidden service, listen on Tor
|
||||
Qt: Add feed bump button
|
||||
Trivial: Fix typo in init.cpp
|
||||
consensus: Add new opcode for BIP-XXXX OP_CHECKAWESOMESIG
|
||||
net: Automatically create onion service, listen on Tor
|
||||
qt: Add feed bump button
|
||||
log: Fix typo in log message
|
||||
|
||||
Note that translations should not be submitted as pull requests, please see
|
||||
[Translation Process](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md)
|
||||
The body of the pull request should contain sufficient description of *what* the
|
||||
patch does, and even more importantly, *why*, with justification and reasoning.
|
||||
You should include references to any discussions (for example, other issues or
|
||||
mailing list discussions).
|
||||
|
||||
The description for a new pull request should not contain any `@` mentions. The
|
||||
PR description will be included in the commit message when the PR is merged and
|
||||
any users mentioned in the description will be annoyingly notified each time a
|
||||
fork of Bitcoin Core copies the merge. Instead, make any username mentions in a
|
||||
subsequent comment to the PR.
|
||||
|
||||
### Translation changes
|
||||
|
||||
Note that translations should not be submitted as pull requests. Please see
|
||||
[Translation Process](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md)
|
||||
for more information on helping with translations.
|
||||
|
||||
### Work in Progress Changes and Requests for Comments
|
||||
|
||||
If a pull request is not to be considered for merging (yet), please
|
||||
prefix the title with [WIP] or use [Tasks Lists](https://help.github.com/articles/basic-writing-and-formatting-syntax/#task-lists)
|
||||
in the body of the pull request to indicate tasks are pending.
|
||||
|
||||
The body of the pull request should contain enough description about what the
|
||||
patch does together with any justification/reasoning. You should include
|
||||
references to any discussions (for example other tickets or mailing list
|
||||
discussions).
|
||||
### Address Feedback
|
||||
|
||||
At this stage one should expect comments and review from other contributors. You
|
||||
At this stage, one should expect comments and review from other contributors. You
|
||||
can add more commits to your pull request by committing them locally and pushing
|
||||
to your fork until you have satisfied all feedback.
|
||||
|
||||
Note: Code review is a burdensome but important part of the development process, and as such, certain types of pull requests are rejected. In general, if the **improvements** do not warrant the **review effort** required, the PR has a high chance of being rejected. It is up to the PR author to convince the reviewers that the changes warrant the review effort, and if reviewers are "Concept NAK'ing" the PR, the author may need to present arguments and/or do research backing their suggested changes.
|
||||
Note: Code review is a burdensome but important part of the development process, and as such, certain types of pull requests are rejected. In general, if the **improvements** do not warrant the **review effort** required, the PR has a high chance of being rejected. It is up to the PR author to convince the reviewers that the changes warrant the review effort, and if reviewers are "Concept NACK'ing" the PR, the author may need to present arguments and/or do research backing their suggested changes.
|
||||
|
||||
Squashing Commits
|
||||
---------------------------
|
||||
If your pull request is accepted for merging, you may be asked by a maintainer
|
||||
to squash and or [rebase](https://git-scm.com/docs/git-rebase) your commits
|
||||
### Squashing Commits
|
||||
|
||||
If your pull request contains fixup commits (commits that change the same line of code repeatedly) or too fine-grained
|
||||
commits, you may be asked to [squash](https://git-scm.com/docs/git-rebase#_interactive_mode) your commits
|
||||
before it will be merged. The basic squashing workflow is shown below.
|
||||
|
||||
git checkout your_branch_name
|
||||
|
|
@ -138,13 +207,13 @@ before it will be merged. The basic squashing workflow is shown below.
|
|||
# Save and quit.
|
||||
git push -f # (force push to GitHub)
|
||||
|
||||
Please update the resulting commit message if needed, it should read as a
|
||||
coherent message. In most cases this means that you should not just list the
|
||||
interim commits.
|
||||
Please update the resulting commit message, if needed. It should read as a
|
||||
coherent message. In most cases, this means not just listing the interim
|
||||
commits.
|
||||
|
||||
If you have problems with squashing (or other workflows with `git`), you can
|
||||
alternatively enable "Allow edits from maintainers" in the right GitHub
|
||||
sidebar and ask for help in the pull request.
|
||||
If you have problems with squashing or other git workflows, you can enable
|
||||
"Allow edits from maintainers" in the right-hand sidebar of the GitHub web
|
||||
interface and ask for help in the pull request.
|
||||
|
||||
Please refrain from creating several pull requests for the same change.
|
||||
Use the pull request that is already open (or was created earlier) to amend
|
||||
|
|
@ -154,6 +223,20 @@ the respective change set.
|
|||
The length of time required for peer review is unpredictable and will vary from
|
||||
pull request to pull request.
|
||||
|
||||
### Rebasing Changes
|
||||
|
||||
When a pull request conflicts with the target branch, you may be asked to rebase it on top of the current target branch.
|
||||
The `git rebase` command will take care of rebuilding your commits on top of the new base.
|
||||
|
||||
This project aims to have a clean git history, where code changes are only made in non-merge commits. This simplifies
|
||||
auditability because merge commits can be assumed to not contain arbitrary code changes. Merge commits should be signed,
|
||||
and the resulting git tree hash must be deterministic and reproducible. The script in
|
||||
[/contrib/verify-commits](/contrib/verify-commits) checks that.
|
||||
|
||||
After a rebase, reviewers are encouraged to sign off on the force push. This should be relatively straightforward with
|
||||
the `git range-diff` tool explained in the [productivity
|
||||
notes](/doc/productivity.md#diff-the-diffs-with-git-range-diff). To avoid needless review churn, maintainers will
|
||||
generally merge pull requests that received the most review attention first.
|
||||
|
||||
Pull Request Philosophy
|
||||
-----------------------
|
||||
|
|
@ -178,9 +261,9 @@ in the future, they may be removed by the Repository Maintainer.
|
|||
Refactoring is a necessary part of any software project's evolution. The
|
||||
following guidelines cover refactoring pull requests for the project.
|
||||
|
||||
There are three categories of refactoring, code only moves, code style fixes,
|
||||
code refactoring. In general refactoring pull requests should not mix these
|
||||
three kinds of activity in order to make refactoring pull requests easy to
|
||||
There are three categories of refactoring: code-only moves, code style fixes, and
|
||||
code refactoring. In general, refactoring pull requests should not mix these
|
||||
three kinds of activities in order to make refactoring pull requests easy to
|
||||
review and uncontroversial. In all cases, refactoring PRs must not change the
|
||||
behaviour of code within the pull request (bugs must be preserved as is).
|
||||
|
||||
|
|
@ -214,12 +297,13 @@ In general, all pull requests must:
|
|||
|
||||
- Have a clear use case, fix a demonstrable bug or serve the greater good of
|
||||
the project (for example refactoring for modularisation);
|
||||
- Be well peer reviewed;
|
||||
- Have unit tests and functional tests where appropriate;
|
||||
- Be well peer-reviewed;
|
||||
- Have unit tests, functional tests, and fuzz tests, where appropriate;
|
||||
- Follow code style guidelines ([C++](doc/developer-notes.md), [functional tests](test/functional/README.md));
|
||||
- Not break the existing test suite;
|
||||
- Where bugs are fixed, where possible, there should be unit tests
|
||||
demonstrating the bug and also proving the fix. This helps prevent regression.
|
||||
- Change relevant comments and documentation when behaviour of code changes.
|
||||
|
||||
Patches that change Bitcoin consensus rules are considerably more involved than
|
||||
normal because they affect the entire ecosystem and so must be preceded by
|
||||
|
|
@ -236,31 +320,43 @@ request. Typically reviewers will review the code for obvious errors, as well as
|
|||
test out the patch set and opine on the technical merits of the patch. Project
|
||||
maintainers take into account the peer review when determining if there is
|
||||
consensus to merge a pull request (remember that discussions may have been
|
||||
spread out over GitHub, mailing list and IRC discussions). The following
|
||||
language is used within pull-request comments:
|
||||
spread out over GitHub, mailing list and IRC discussions).
|
||||
|
||||
- ACK means "I have tested the code and I agree it should be merged";
|
||||
- NACK means "I disagree this should be merged", and must be accompanied by
|
||||
sound technical justification (or in certain cases of copyright/patent/licensing
|
||||
issues, legal justification). NACKs without accompanying reasoning may be
|
||||
disregarded;
|
||||
- utACK means "I have not tested the code, but I have reviewed it and it looks
|
||||
#### Conceptual Review
|
||||
|
||||
A review can be a conceptual review, where the reviewer leaves a comment
|
||||
* `Concept (N)ACK`, meaning "I do (not) agree with the general goal of this pull
|
||||
request",
|
||||
* `Approach (N)ACK`, meaning `Concept ACK`, but "I do (not) agree with the
|
||||
approach of this change".
|
||||
|
||||
A `NACK` needs to include a rationale why the change is not worthwhile.
|
||||
NACKs without accompanying reasoning may be disregarded.
|
||||
|
||||
#### Code Review
|
||||
|
||||
After conceptual agreement on the change, code review can be provided. A review
|
||||
begins with `ACK BRANCH_COMMIT`, where `BRANCH_COMMIT` is the top of the PR
|
||||
branch, followed by a description of how the reviewer did the review. The
|
||||
following language is used within pull request comments:
|
||||
|
||||
- "I have tested the code", involving change-specific manual testing in
|
||||
addition to running the unit, functional, or fuzz tests, and in case it is
|
||||
not obvious how the manual testing was done, it should be described;
|
||||
- "I have not tested the code, but I have reviewed it and it looks
|
||||
OK, I agree it can be merged";
|
||||
- Concept ACK means "I agree in the general principle of this pull request";
|
||||
- Nit refers to trivial, often non-blocking issues.
|
||||
|
||||
Reviewers should include the commit hash which they reviewed in their comments.
|
||||
- A "nit" refers to a trivial, often non-blocking issue.
|
||||
|
||||
Project maintainers reserve the right to weigh the opinions of peer reviewers
|
||||
using common sense judgement and also may weight based on meritocracy: Those
|
||||
that have demonstrated a deeper commitment and understanding towards the project
|
||||
(over time) or have clear domain expertise may naturally have more weight, as
|
||||
one would expect in all walks of life.
|
||||
using common sense judgement and may also weigh based on merit. Reviewers that
|
||||
have demonstrated a deeper commitment and understanding of the project over time
|
||||
or who have clear domain expertise may naturally have more weight, as one would
|
||||
expect in all walks of life.
|
||||
|
||||
Where a patch set affects consensus critical code, the bar will be set much
|
||||
Where a patch set affects consensus-critical code, the bar will be much
|
||||
higher in terms of discussion and peer review requirements, keeping in mind that
|
||||
mistakes could be very costly to the wider community. This includes refactoring
|
||||
of consensus critical code.
|
||||
of consensus-critical code.
|
||||
|
||||
Where a patch set proposes to change the Bitcoin consensus, it must have been
|
||||
discussed extensively on the mailing list and IRC, be accompanied by a widely
|
||||
|
|
@ -277,7 +373,7 @@ about:
|
|||
|
||||
- It may be because of a feature freeze due to an upcoming release. During this time,
|
||||
only bug fixes are taken into consideration. If your pull request is a new feature,
|
||||
it will not be prioritized until the release is over. Wait for release.
|
||||
it will not be prioritized until after the release. Wait for the release.
|
||||
- It may be because the changes you are suggesting do not appeal to people. Rather than
|
||||
nits and critique, which require effort and means they care enough to spend time on your
|
||||
contribution, thundering silence is a good sign of widespread (mild) dislike of a given change
|
||||
|
|
@ -287,18 +383,45 @@ about:
|
|||
[developer notes](doc/developer-notes.md), is dangerous or insecure, is messily written, etc.
|
||||
Identify and address any of the issues you find. Then ask e.g. on IRC if someone could give
|
||||
their opinion on the concept itself.
|
||||
- It may be because your code is too complex for all but a few people. And those people
|
||||
- It may be because your code is too complex for all but a few people, and those people
|
||||
may not have realized your pull request even exists. A great way to find people who
|
||||
are qualified and care about the code you are touching is the
|
||||
[Git Blame feature](https://help.github.com/articles/tracing-changes-in-a-file/). Simply
|
||||
find the person touching the code you are touching before you and see if you can find
|
||||
them and give them a nudge. Don't be incessant about the nudging though.
|
||||
look up who last modified the code you are changing and see if you can find
|
||||
them and give them a nudge. Don't be incessant about the nudging, though.
|
||||
- Finally, if all else fails, ask on IRC or elsewhere for someone to give your pull request
|
||||
a look. If you think you've been waiting an unreasonably long amount of time (month+) for
|
||||
no particular reason (few lines changed, etc), this is totally fine. Try to return the favor
|
||||
when someone else is asking for feedback on their code, and universe balances out.
|
||||
a look. If you think you've been waiting for an unreasonably long time (say,
|
||||
more than a month) for no particular reason (a few lines changed, etc.),
|
||||
this is totally fine. Try to return the favor when someone else is asking
|
||||
for feedback on their code, and the universe balances out.
|
||||
- Remember that the best thing you can do while waiting is give review to others!
|
||||
|
||||
|
||||
Backporting
|
||||
-----------
|
||||
|
||||
Security and bug fixes can be backported from `master` to release
|
||||
branches.
|
||||
If the backport is non-trivial, it may be appropriate to open an
|
||||
additional PR to backport the change, but only after the original PR
|
||||
has been merged.
|
||||
Otherwise, backports will be done in batches and
|
||||
the maintainers will use the proper `Needs backport (...)` labels
|
||||
when needed (the original author does not need to worry about it).
|
||||
|
||||
A backport should contain the following metadata in the commit body:
|
||||
|
||||
```
|
||||
Github-Pull: #<PR number>
|
||||
Rebased-From: <commit hash of the original commit>
|
||||
```
|
||||
|
||||
Have a look at [an example backport PR](
|
||||
https://github.com/bitcoin/bitcoin/pull/16189).
|
||||
|
||||
Also see the [backport.py script](
|
||||
https://github.com/bitcoin-core/bitcoin-maintainer-tools#backport).
|
||||
|
||||
Release Policy
|
||||
--------------
|
||||
|
||||
|
|
@ -307,7 +430,7 @@ The project leader is the release manager for each Bitcoin Core release.
|
|||
Copyright
|
||||
---------
|
||||
|
||||
By contributing to this repository, you agree to license your work under the
|
||||
MIT license unless specified otherwise in `contrib/debian/copyright` or at
|
||||
the top of the file itself. Any work contributed where you are not the original
|
||||
By contributing to this repository, you agree to license your work under the
|
||||
MIT license unless specified otherwise in `contrib/debian/copyright` or at
|
||||
the top of the file itself. Any work contributed where you are not the original
|
||||
author must contain its license header with the original author(s) and source.
|
||||
|
|
|
|||
4
COPYING
4
COPYING
|
|
@ -1,7 +1,7 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (c) 2009-2019 Bitcoin Developers
|
||||
Copyright (c) 2009-2020 The Bitcoin Core developers
|
||||
Copyright (c) 2009-2020 Bitcoin Developers
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
95
Makefile.am
95
Makefile.am
|
|
@ -1,7 +1,11 @@
|
|||
# Copyright (c) 2013-2016 The Bitcoin Core developers
|
||||
# Copyright (c) 2013-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
# Pattern rule to print variables, e.g. make print-top_srcdir
|
||||
print-%:
|
||||
@echo $* = $($*)
|
||||
|
||||
ACLOCAL_AMFLAGS = -I build-aux/m4
|
||||
SUBDIRS = src
|
||||
if ENABLE_MAN
|
||||
|
|
@ -21,7 +25,7 @@ BITCOIN_QT_BIN=$(top_builddir)/src/qt/$(BITCOIN_GUI_NAME)$(EXEEXT)
|
|||
BITCOIN_CLI_BIN=$(top_builddir)/src/$(BITCOIN_CLI_NAME)$(EXEEXT)
|
||||
BITCOIN_TX_BIN=$(top_builddir)/src/$(BITCOIN_TX_NAME)$(EXEEXT)
|
||||
BITCOIN_WALLET_BIN=$(top_builddir)/src/$(BITCOIN_WALLET_TOOL_NAME)$(EXEEXT)
|
||||
BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT)
|
||||
BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win64-setup$(EXEEXT)
|
||||
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
|
|
@ -35,16 +39,14 @@ OSX_BACKGROUND_IMAGE_DPIS=36 72
|
|||
OSX_DSSTORE_GEN=$(top_srcdir)/contrib/macdeploy/custom_dsstore.py
|
||||
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
|
||||
OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
|
||||
OSX_INSTALLER_ICONS=src/qt/res/rendered_icons/bitcoin.icns
|
||||
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
|
||||
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
||||
OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
|
||||
OSX_QT_TRANSLATIONS = ar,bg,ca,cs,da,de,es,fa,fi,fr,gd,gl,he,hu,it,ja,ko,lt,lv,pl,pt,ru,sk,sl,sv,uk,zh_CN,zh_TW
|
||||
|
||||
DIST_CONTRIB = \
|
||||
$(top_srcdir)/contrib/linearize/linearize-data.py \
|
||||
$(top_srcdir)/contrib/linearize/linearize-hashes.py
|
||||
|
||||
DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md)
|
||||
DIST_CONTRIB = $(top_srcdir)/contrib/bitcoin-cli.bash-completion \
|
||||
$(top_srcdir)/contrib/bitcoin-tx.bash-completion \
|
||||
$(top_srcdir)/contrib/bitcoind.bash-completion \
|
||||
$(top_srcdir)/contrib/init \
|
||||
$(top_srcdir)/contrib/install_db4.sh
|
||||
DIST_SHARE = \
|
||||
$(top_srcdir)/share/genbuild.sh \
|
||||
$(top_srcdir)/share/rpcauth
|
||||
|
|
@ -52,9 +54,9 @@ DIST_SHARE = \
|
|||
BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
|
||||
$(top_srcdir)/contrib/devtools/security-check.py
|
||||
|
||||
WINDOWS_PACKAGING = src/qt/res/rendered_icons/bitcoin.ico \
|
||||
WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
|
||||
$(top_srcdir)/share/pixmaps/nsis-header.bmp \
|
||||
src/qt/res/rendered_icons/nsis-wizard.bmp \
|
||||
$(top_srcdir)/share/pixmaps/nsis-wizard.bmp \
|
||||
$(top_srcdir)/doc/README_windows.txt
|
||||
|
||||
OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
|
||||
|
|
@ -63,10 +65,10 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
|
|||
$(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \
|
||||
$(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
|
||||
|
||||
COVERAGE_INFO = baseline.info \
|
||||
COVERAGE_INFO = $(COV_TOOL_WRAPPER) baseline.info \
|
||||
test_bitcoin_filtered.info total_coverage.info \
|
||||
baseline_filtered.info functional_test.info functional_test_filtered.info \
|
||||
test_bitcoin_coverage.info test_bitcoin.info
|
||||
test_bitcoin_coverage.info test_bitcoin.info fuzz.info fuzz_filtered.info fuzz_coverage.info
|
||||
|
||||
dist-hook:
|
||||
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
|
||||
|
|
@ -78,7 +80,7 @@ $(BITCOIN_WIN_INSTALLER): all-recursive
|
|||
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
|
||||
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_TX_BIN) $(top_builddir)/release
|
||||
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_WALLET_BIN) $(top_builddir)/release
|
||||
@test -f $(MAKENSIS) && $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi || \
|
||||
@test -f $(MAKENSIS) && echo 'OutFile "$@"' | cat $(top_builddir)/share/setup.nsi - | $(MAKENSIS) -V2 - || \
|
||||
echo error: could not build $@
|
||||
@echo built $@
|
||||
|
||||
|
|
@ -88,15 +90,12 @@ $(OSX_APP)/Contents/PkgInfo:
|
|||
|
||||
$(OSX_APP)/Contents/Resources/empty.lproj:
|
||||
$(MKDIR_P) $(@D)
|
||||
@touch $@
|
||||
@touch $@
|
||||
|
||||
$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST)
|
||||
$(MKDIR_P) $(@D)
|
||||
$(INSTALL_DATA) $< $@
|
||||
|
||||
src/qt/res/rendered_icons/%: FORCE
|
||||
$(MAKE) -C src $(patsubst src/%,%,$@)
|
||||
|
||||
$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
|
||||
$(MKDIR_P) $(@D)
|
||||
$(INSTALL_DATA) $< $@
|
||||
|
|
@ -181,15 +180,41 @@ $(BITCOIN_WALLET_BIN): FORCE
|
|||
$(MAKE) -C src $(@F)
|
||||
|
||||
if USE_LCOV
|
||||
LCOV_FILTER_PATTERN=-p "/usr/include/" -p "/usr/lib/" -p "src/leveldb/" -p "src/bench/" -p "src/univalue" -p "src/crypto/ctaes" -p "src/secp256k1"
|
||||
LCOV_FILTER_PATTERN = \
|
||||
-p "/usr/local/" \
|
||||
-p "/usr/include/" \
|
||||
-p "/usr/lib/" \
|
||||
-p "/usr/lib64/" \
|
||||
-p "src/leveldb/" \
|
||||
-p "src/crc32c/" \
|
||||
-p "src/bench/" \
|
||||
-p "src/univalue" \
|
||||
-p "src/crypto/ctaes" \
|
||||
-p "src/secp256k1" \
|
||||
-p "depends"
|
||||
|
||||
baseline.info:
|
||||
DIR_FUZZ_SEED_CORPUS ?= qa-assets/fuzz_seed_corpus
|
||||
|
||||
$(COV_TOOL_WRAPPER):
|
||||
@echo 'exec $(COV_TOOL) "$$@"' > $(COV_TOOL_WRAPPER)
|
||||
@chmod +x $(COV_TOOL_WRAPPER)
|
||||
|
||||
baseline.info: $(COV_TOOL_WRAPPER)
|
||||
$(LCOV) -c -i -d $(abs_builddir)/src -o $@
|
||||
|
||||
baseline_filtered.info: baseline.info
|
||||
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
||||
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||
|
||||
fuzz.info: baseline_filtered.info
|
||||
@TIMEOUT=15 test/fuzz/test_runner.py $(DIR_FUZZ_SEED_CORPUS) -l DEBUG
|
||||
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t fuzz-tests -o $@
|
||||
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
|
||||
|
||||
fuzz_filtered.info: fuzz.info
|
||||
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
||||
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||
|
||||
test_bitcoin.info: baseline_filtered.info
|
||||
$(MAKE) -C src/ check
|
||||
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_bitcoin -o $@
|
||||
|
|
@ -200,7 +225,7 @@ test_bitcoin_filtered.info: test_bitcoin.info
|
|||
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||
|
||||
functional_test.info: test_bitcoin_filtered.info
|
||||
-@TIMEOUT=15 test/functional/test_runner.py $(EXTENDED_FUNCTIONAL_TESTS)
|
||||
@TIMEOUT=15 test/functional/test_runner.py $(EXTENDED_FUNCTIONAL_TESTS)
|
||||
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t functional-tests -o $@
|
||||
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
|
||||
|
||||
|
|
@ -208,12 +233,19 @@ functional_test_filtered.info: functional_test.info
|
|||
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
||||
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
||||
|
||||
fuzz_coverage.info: fuzz_filtered.info
|
||||
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a fuzz_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
||||
|
||||
test_bitcoin_coverage.info: baseline_filtered.info test_bitcoin_filtered.info
|
||||
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -o $@
|
||||
|
||||
total_coverage.info: test_bitcoin_filtered.info functional_test_filtered.info
|
||||
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
||||
|
||||
fuzz.coverage/.dirstamp: fuzz_coverage.info
|
||||
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
||||
@touch $@
|
||||
|
||||
test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info
|
||||
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
||||
@touch $@
|
||||
|
|
@ -222,13 +254,15 @@ total.coverage/.dirstamp: total_coverage.info
|
|||
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
||||
@touch $@
|
||||
|
||||
cov_fuzz: fuzz.coverage/.dirstamp
|
||||
|
||||
cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp
|
||||
|
||||
endif
|
||||
|
||||
dist_noinst_SCRIPTS = autogen.sh
|
||||
|
||||
EXTRA_DIST = $(DIST_SHARE) test/functional/test_runner.py test/functional test/bitcoin_functional/functional test/bitcoin_functional/functional/test_runner.py test/fuzz $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
|
||||
EXTRA_DIST = $(DIST_SHARE) test/functional/test_runner.py test/functional test/bitcoin_functional/functional test/bitcoin_functional/functional/test_runner.py test/fuzz $(DIST_CONTRIB) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
|
||||
|
||||
EXTRA_DIST += \
|
||||
test/util/bitcoin-util-test.py \
|
||||
|
|
@ -279,6 +313,8 @@ EXTRA_DIST += \
|
|||
test/util/data/txcreatescript3.json \
|
||||
test/util/data/txcreatescript4.hex \
|
||||
test/util/data/txcreatescript4.json \
|
||||
test/util/data/txcreatescript5.hex \
|
||||
test/util/data/txcreatescript6.hex \
|
||||
test/util/data/txcreatesignv1.hex \
|
||||
test/util/data/txcreatesignv1.json \
|
||||
test/util/data/txcreatesignv2.hex \
|
||||
|
|
@ -308,6 +344,17 @@ clean-docs:
|
|||
rm -rf doc/doxygen
|
||||
|
||||
clean-local: clean-docs
|
||||
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP)
|
||||
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ fuzz.coverage/ test/tmp/ cache/ $(OSX_APP)
|
||||
rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache share/rpcauth/__pycache__
|
||||
rm -rf osx_volname dist/ dpi36.background.tiff dpi72.background.tiff
|
||||
|
||||
test-security-check:
|
||||
if TARGET_DARWIN
|
||||
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_MACHO
|
||||
endif
|
||||
if TARGET_WINDOWS
|
||||
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_PE
|
||||
endif
|
||||
if TARGET_LINUX
|
||||
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_ELF
|
||||
endif
|
||||
|
|
|
|||
68
SECURITY.md
68
SECURITY.md
|
|
@ -1,6 +1,4 @@
|
|||
# Security
|
||||
|
||||
The maintainers of Elements take security very seriously and are committed to addressing any disclosed security vulnerabilities quickly and carefully. If you find a security vulnerability, please report it to us following the steps described here.
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
|
|
@ -298,62 +296,16 @@ W5zENLshru7sd+PHfNyyje1/ht9FXbSw
|
|||
|
||||
If there is no response from the authors within 3 days, please escalate your vulnerability report by emailing security@blockstream.com using this PGP key:
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
```
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
To report security issues send an email to security@bitcoincore.org (not for support).
|
||||
|
||||
mQINBFv/XdQBEAC2iS1uQij2AJSnvQZxScnqf6v0db63QDbS6GjH5PndQ8cF0szv
|
||||
YJYCFBigkzj4BkKxbJJlnfPW6Jl3SfzCGDvBW3IYuB3S10InDqJFYcM1ZemWCGAs
|
||||
HA48NDfB4AIBIFH09H4dUE/J6yAdhX/+Qa/bjOhiwrCFVE2pVtMN8aTFnaLzxCP+
|
||||
fWZUaPrPv84B7uxEdLM77wIhsN+16FAr1qS42NfKDDolBAs//Bmv5fkNC7lzAVCf
|
||||
MA/QEcNlAvButPrNyZU3t25maUv5hhKUDdJ2G/iACf8tVgp+ygmD8NHQMLPSaFqa
|
||||
O5wy77Fd5OyX3Gii/E8MtPEsePViwecwJqc/3UXBx7zTRou2gxLikVFTnJb+Jit9
|
||||
F2kcljhCjHGxsuhf4Zr6zu+RTHHDgdBmpt4t1HA2jft/40r+uWQjL/rNP+01HgZj
|
||||
4OLHkSI5VfJsXRn1EqOGpBIzR56f0GaxA0jluQMfkE9PTMxg5+YbrGgdot3l7pQ3
|
||||
+mqMu3aim2EYZZHTsMCRt4j4pRn5g4BZan+w7STfA7rIMJu/MjP3G4s+IFMPVRki
|
||||
QLwktZSD+x2M9iIsOD4YVheMKtU6WRroFeCkXzIzLYwCuZ4ym/JFJMH+Keuyo254
|
||||
5hcymw+ivmPP+xuuoP1npQioRH4RKpfDgskABv8+t5rteV4BtUIWL33A/wARAQAB
|
||||
tDlCbG9ja3N0cmVhbSBTZWN1cml0eSBSZXBvcnRpbmcgPHNlY3VyaXR5QGJsb2Nr
|
||||
c3RyZWFtLmNvbT6JAk4EEwEKADgWIQQRdlQtqY5x4TNyLvdKyMyIaESi1gUCW/9d
|
||||
1AIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRBKyMyIaESi1lcQD/9HZmtP
|
||||
XhKtwC92zTsT5Xqt/K4ckaiJRaUlHeFtfkHpTdXIUFIJjZ1w1JJAWLtRf58MY45U
|
||||
5DAOOYQptoXiy4USZkIMH1uBtFSAvyCUXH5cDWK1347G5rUg6Ry8Cxe+wzXOlxfr
|
||||
f/9Vs28z+awfIrvk50sj4QW+mMlS69VwuHUl5CJ+BtcqQWQO85ummQxQq8rMw7rD
|
||||
AwkftqiMKz+YLw5/xECyiXDDdQr66kdkglbQGgiciS7HNo0SQ2XqTNcGZkRA3lmv
|
||||
HYCchZpgr9qxfnLjgVddJB+iNTwFZ7AQ7ZBlYWvu5UIMweuEz+yB7WGbQZLOsRZ8
|
||||
OaIPmZ150VX0sQYeXYhoFrraNW6obFqsSklnQbsfw6KsCaFvYhNZgHf177YlrAzq
|
||||
puR53H1sOjOQq8pnbjyf4XLhAGMC65LydWtkQK77m46kOBZad9UGg2WKg/SY+3pF
|
||||
WWdP7vlsR7oJyElEQfUwBsT16K/6kenyagQ6CzqnF/X+W7P1STndpBJp4lD0RfaD
|
||||
v6UyqxPYhUuQ24jP5jm8+RtS+OGB00czY2cVSDgjYVuU80WsW+Qt0XtLKeoVYdCb
|
||||
TaKgreicqbz0Afr9hbPIieW2wbQnYlRPjprTVhhGsxlaUb7Kcz7fapliJrKBFgy5
|
||||
odUljZ+iSompuiYtFhVYA8e6sx0pRUGOopnkGLkCDQRb/13UARAA3WAlRv6DofgG
|
||||
xu+L2ePZb1OCQTkn4Eq+24veGibPvlqFJivF1ebctUtxiKVsz0dXtWcAYk7Rh2I/
|
||||
xsEGxIzhjr5VLVOdldM5AgJna6WPvOA4sPXjdy47R71NfEQfg9Svv93mmkpbJsL3
|
||||
NuHxvpoeO4A9JrFfwn7WJevXOiUWdKJ+nn0ZPwjYle6i27OfIojyVmZVQEiHC/Il
|
||||
LxQEYaNDalAorjnn0b7X7S3Z8pMAb8HqD0RTXXed9LPgbasARyND2I2xy1txUDPI
|
||||
Qcq6tIbryGYlegEHuvsE31zRPoNjnXkwABb6qBkUUiZMbRJCYOQXSo7Z2tasKHIJ
|
||||
I/FnIj8dmT/IXDb9KiWr8wziGLdgnZx3QZGt5P0LIMFKrfXMNJO7EmO1QMbgZFgk
|
||||
JPhJ0o61PvMaVLMQVoxD6K7bKOzI2t4LTA0l5RxuMcadu8G13YzgVXX44Cac1qUn
|
||||
xriMzk62HXdSeZozcO/IRN7Kdw2bB++5EVYTQN1EEhIymXVUrBg2pXvLSXalg+kp
|
||||
0BhLVHcbTI51mKz8GY9NUShFI7ZEzxzzltcEA+F5TLrPMgT+tx+QvjDdGWIhWycI
|
||||
KW53hjKiGolhpG9Kqo9ogtCO2a3r6JspO0z+54/EF5rS2LI13pqk0qNgoYMYqChe
|
||||
XU8BJdZ9siCooQ+3o+Y/9TkQWSAwnWkAEQEAAYkCNgQYAQoAIBYhBBF2VC2pjnHh
|
||||
M3Iu90rIzIhoRKLWBQJb/13UAhsMAAoJEErIzIhoRKLWGhoP/jFfwRrda1RNR6OY
|
||||
NHOIa4x4PtjDuYwDYgI5X2NQXlglyOTWouKjY1eu7LRoQSS5blD7BA9GHhYRDBL/
|
||||
0NQo/EQn3JFoitGWs07Bry0A4DTOz0H7wRqVXtN+Ck13QdEemq+suLE+PcbRJ4Ei
|
||||
ANoNVgSRGqYO683oXEzGgzF+FXXPbcRTNHwvV8LgmUioe2cgHX3Q2PC3gUTmnNkq
|
||||
IhWirlT5cQVSLS2IzsP903uq8VtHl7lXLkS6Ba3CmwLoHYfhurGQNR6Av2WPgL2D
|
||||
oY8NOxPdz9QxBUzUVObiMm3UfD/eTF73NAmNJRDqYzpY/l54ZyxLFjlfXRpwKrx/
|
||||
islwezx+2fzns5u4xwdywVHzvgsmbXMIDdNTaTS8BDaKbAopLmbmuTnnTbJXWFbb
|
||||
mQ2/GHcB0mKuXDkzt+7JMQ0NHtrGC3qvEtnTXZGXr3uIhFDkJSOoaH68dqq5++pz
|
||||
GtT+aiv3L120r0pSSyTgbPsrqSlWgXEuJ4uzt3j69J0Qek0YrL0EDxHdnGPW4+fv
|
||||
AZiq1RFG8MHOy0Obahed5uqlzXCNtroHdgSQeR+6IkODSsEd+hVdXJs/hjcWLNG5
|
||||
VNztar/H4BSwlhKbgvFivOzhj8x5TNoqMM95G8Ew/5idiT/YQgsA6lcwsEZ78t9O
|
||||
lTHPj4G8vH5F/zIFb+uQNSlKzuH+
|
||||
=8mAH
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
```
|
||||
The following keys may be used to communicate sensitive information to developers:
|
||||
|
||||
## Acknowledgement
|
||||
| Name | Fingerprint |
|
||||
|------|-------------|
|
||||
| Wladimir van der Laan | 71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6 |
|
||||
| Jonas Schnelli | 32EE 5C4C 3FA1 5CCA DB46 ABE5 29D4 BCB6 416F 53EC |
|
||||
| Pieter Wuille | 133E AC17 9436 F14A 5CF1 B794 860F EB80 4E66 9320 |
|
||||
|
||||
Your help in maintaining and improving the security of this software is deeply appreciated. When the vulnerability you have reported is patched here and in downstream dependencies, we will publicly disclose it. Let us know if you would like to remain anonymous or would like to be acknowledged. We would be happy to acknowledge your contributions to closing the vulnerability you found in the release notes, source code and/or documentation in this repository.
|
||||
You can import a key by running the following command with that individual’s fingerprint: `gpg --recv-keys "<fingerprint>"` Ensure that you put quotes around fingerprints containing spaces.
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
#!/bin/sh
|
||||
# Copyright (c) 2013-2016 The Bitcoin Core developers
|
||||
# Copyright (c) 2013-2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C
|
||||
set -e
|
||||
srcdir="$(dirname $0)"
|
||||
srcdir="$(dirname "$0")"
|
||||
cd "$srcdir"
|
||||
if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then
|
||||
if [ -z "${LIBTOOLIZE}" ] && GLIBTOOLIZE="$(command -v glibtoolize)"; then
|
||||
LIBTOOLIZE="${GLIBTOOLIZE}"
|
||||
export LIBTOOLIZE
|
||||
fi
|
||||
which autoreconf >/dev/null || \
|
||||
command -v autoreconf >/dev/null || \
|
||||
(echo "configuration failed, please install autoconf first" && exit 1)
|
||||
autoreconf --install --force --warnings=all
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_base.html
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_base.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
|
|
@ -33,7 +33,15 @@
|
|||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 27
|
||||
#serial 48
|
||||
|
||||
# example boost program (need to pass version)
|
||||
m4_define([_AX_BOOST_BASE_PROGRAM],
|
||||
[AC_LANG_PROGRAM([[
|
||||
#include <boost/version.hpp>
|
||||
]],[[
|
||||
(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));
|
||||
]])])
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
[
|
||||
|
|
@ -44,110 +52,123 @@ AC_ARG_WITH([boost],
|
|||
or disable it (ARG=no)
|
||||
@<:@ARG=yes@:>@ ])],
|
||||
[
|
||||
if test "$withval" = "no"; then
|
||||
want_boost="no"
|
||||
elif test "$withval" = "yes"; then
|
||||
want_boost="yes"
|
||||
ac_boost_path=""
|
||||
else
|
||||
want_boost="yes"
|
||||
ac_boost_path="$withval"
|
||||
fi
|
||||
AS_CASE([$withval],
|
||||
[no],[want_boost="no";_AX_BOOST_BASE_boost_path=""],
|
||||
[yes],[want_boost="yes";_AX_BOOST_BASE_boost_path=""],
|
||||
[want_boost="yes";_AX_BOOST_BASE_boost_path="$withval"])
|
||||
],
|
||||
[want_boost="yes"])
|
||||
|
||||
|
||||
AC_ARG_WITH([boost-libdir],
|
||||
AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
|
||||
[Force given directory for boost libraries. Note that this will override library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]),
|
||||
[
|
||||
if test -d "$withval"
|
||||
then
|
||||
ac_boost_lib_path="$withval"
|
||||
else
|
||||
AC_MSG_ERROR(--with-boost-libdir expected directory name)
|
||||
fi
|
||||
],
|
||||
[ac_boost_lib_path=""]
|
||||
)
|
||||
[AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
|
||||
[Force given directory for boost libraries.
|
||||
Note that this will override library path detection,
|
||||
so use this parameter only if default library detection fails
|
||||
and you know exactly where your boost libraries are located.])],
|
||||
[
|
||||
AS_IF([test -d "$withval"],
|
||||
[_AX_BOOST_BASE_boost_lib_path="$withval"],
|
||||
[AC_MSG_ERROR([--with-boost-libdir expected directory name])])
|
||||
],
|
||||
[_AX_BOOST_BASE_boost_lib_path=""])
|
||||
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
|
||||
boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
|
||||
boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
|
||||
boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
|
||||
if test "x$boost_lib_version_req_sub_minor" = "x" ; then
|
||||
boost_lib_version_req_sub_minor="0"
|
||||
fi
|
||||
WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
|
||||
AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
|
||||
BOOST_LDFLAGS=""
|
||||
BOOST_CPPFLAGS=""
|
||||
AS_IF([test "x$want_boost" = "xyes"],
|
||||
[_AX_BOOST_BASE_RUNDETECT([$1],[$2],[$3])])
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_LDFLAGS)
|
||||
])
|
||||
|
||||
|
||||
# convert a version string in $2 to numeric and affect to polymorphic var $1
|
||||
AC_DEFUN([_AX_BOOST_BASE_TONUMERICVERSION],[
|
||||
AS_IF([test "x$2" = "x"],[_AX_BOOST_BASE_TONUMERICVERSION_req="1.20.0"],[_AX_BOOST_BASE_TONUMERICVERSION_req="$2"])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_shorten=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_major=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\)'`
|
||||
AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_major" = "x"],
|
||||
[AC_MSG_ERROR([You should at least specify libboost major version])])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.\([[0-9]]*\)'`
|
||||
AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_minor" = "x"],
|
||||
[_AX_BOOST_BASE_TONUMERICVERSION_req_minor="0"])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
|
||||
AS_IF([test "X$_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor" = "X"],
|
||||
[_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor="0"])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_RET=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req_major \* 100000 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_minor \* 100 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor`
|
||||
AS_VAR_SET($1,$_AX_BOOST_BASE_TONUMERICVERSION_RET)
|
||||
])
|
||||
|
||||
dnl Run the detection of boost should be run only if $want_boost
|
||||
AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
|
||||
_AX_BOOST_BASE_TONUMERICVERSION(WANT_BOOST_VERSION,[$1])
|
||||
succeeded=no
|
||||
|
||||
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
dnl On 64-bit systems check for system libraries in both lib64 and lib.
|
||||
dnl The former is specified by FHS, but e.g. Debian does not adhere to
|
||||
dnl this (as it rises problems for generic multi-arch support).
|
||||
dnl The last entry in the list is chosen by default when no libraries
|
||||
dnl are found, e.g. when only header-only libraries are installed!
|
||||
libsubdirs="lib"
|
||||
ax_arch=`uname -m`
|
||||
case $ax_arch in
|
||||
x86_64)
|
||||
libsubdirs="lib64 libx32 lib lib64"
|
||||
;;
|
||||
ppc64|s390x|sparc64|aarch64|ppc64le)
|
||||
libsubdirs="lib64 lib lib64"
|
||||
;;
|
||||
esac
|
||||
AS_CASE([${host_cpu}],
|
||||
[x86_64],[libsubdirs="lib64 libx32 lib lib64"],
|
||||
[mips*64*],[libsubdirs="lib64 lib32 lib lib64"],
|
||||
[ppc64|powerpc64|s390x|sparc64|aarch64|ppc64le|powerpc64le|riscv64],[libsubdirs="lib64 lib lib64"],
|
||||
[libsubdirs="lib"]
|
||||
)
|
||||
|
||||
dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give
|
||||
dnl them priority over the other paths since, if libs are found there, they
|
||||
dnl are almost assuredly the ones desired.
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs"
|
||||
|
||||
case ${host_cpu} in
|
||||
i?86)
|
||||
libsubdirs="lib/i386-${host_os} $libsubdirs"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl some arches may advertise a cpu type that doesn't line up with their
|
||||
dnl prefix's cpu type. For example, uname may report armv7l while libs are
|
||||
dnl installed to /usr/lib/arm-linux-gnueabihf. Try getting the compiler's
|
||||
dnl value for an extra chance of finding the correct path.
|
||||
libsubdirs="lib/`$CXX -dumpmachine 2>/dev/null` $libsubdirs"
|
||||
AS_CASE([${host_cpu}],
|
||||
[i?86],[multiarch_libsubdir="lib/i386-${host_os}"],
|
||||
[armv7l],[multiarch_libsubdir="lib/arm-${host_os}"],
|
||||
[multiarch_libsubdir="lib/${host_cpu}-${host_os}"]
|
||||
)
|
||||
|
||||
dnl first we check the system location for boost libraries
|
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
||||
dnl or if you install boost with RPM
|
||||
if test "$ac_boost_path" != ""; then
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include"
|
||||
for ac_boost_path_tmp in $libsubdirs; do
|
||||
if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
|
||||
break
|
||||
fi
|
||||
done
|
||||
elif test "$cross_compiling" != yes; then
|
||||
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
AS_IF([test "x$_AX_BOOST_BASE_boost_path" != "x"],[
|
||||
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) includes in "$_AX_BOOST_BASE_boost_path/include"])
|
||||
AS_IF([test -d "$_AX_BOOST_BASE_boost_path/include" && test -r "$_AX_BOOST_BASE_boost_path/include"],[
|
||||
AC_MSG_RESULT([yes])
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include"
|
||||
for _AX_BOOST_BASE_boost_path_tmp in $multiarch_libsubdir $libsubdirs; do
|
||||
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) lib path in "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp"])
|
||||
AS_IF([test -d "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" && test -r "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" ],[
|
||||
AC_MSG_RESULT([yes])
|
||||
BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp";
|
||||
break;
|
||||
],
|
||||
[AC_MSG_RESULT([no])])
|
||||
done],[
|
||||
AC_MSG_RESULT([no])])
|
||||
],[
|
||||
if test X"$cross_compiling" = Xyes; then
|
||||
search_libsubdirs=$multiarch_libsubdir
|
||||
else
|
||||
search_libsubdirs="$multiarch_libsubdir $libsubdirs"
|
||||
fi
|
||||
for _AX_BOOST_BASE_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$_AX_BOOST_BASE_boost_path_tmp/include/boost" && test -r "$_AX_BOOST_BASE_boost_path_tmp/include/boost" ; then
|
||||
for libsubdir in $search_libsubdirs ; do
|
||||
if ls "$_AX_BOOST_BASE_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
|
||||
BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path_tmp/$libsubdir"
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path_tmp/include"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
])
|
||||
|
||||
dnl overwrite ld flags if we have required special directory with
|
||||
dnl --with-boost-libdir parameter
|
||||
if test "$ac_boost_lib_path" != ""; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_lib_path"
|
||||
fi
|
||||
AS_IF([test "x$_AX_BOOST_BASE_boost_lib_path" != "x"],
|
||||
[BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_lib_path"])
|
||||
|
||||
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION)])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
|
@ -158,15 +179,7 @@ if test "x$want_boost" = "xyes"; then
|
|||
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@%:@include <boost/version.hpp>
|
||||
]], [[
|
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
||||
// Everything is okay
|
||||
#else
|
||||
# error Boost version is too old
|
||||
#endif
|
||||
]])],[
|
||||
AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
|
|
@ -178,40 +191,50 @@ if test "x$want_boost" = "xyes"; then
|
|||
|
||||
dnl if we found no boost with system layout we search for boost libraries
|
||||
dnl built and installed without the --layout=system option or for a staged(not installed) version
|
||||
if test "x$succeeded" != "xyes"; then
|
||||
if test "x$succeeded" != "xyes" ; then
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
BOOST_CPPFLAGS=
|
||||
BOOST_LDFLAGS=
|
||||
if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
|
||||
BOOST_LDFLAGS=
|
||||
fi
|
||||
_version=0
|
||||
if test "$ac_boost_path" != ""; then
|
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
if test -n "$_AX_BOOST_BASE_boost_path" ; then
|
||||
if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path"; then
|
||||
for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "$V_CHECK" = "1" ; then
|
||||
if test "x$V_CHECK" = "x1" ; then
|
||||
_version=$_version_tmp
|
||||
fi
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
done
|
||||
dnl if nothing found search for layout used in Windows distributions
|
||||
if test -z "$BOOST_CPPFLAGS"; then
|
||||
if test -d "$ac_boost_path/boost" && test -r "$ac_boost_path/boost"; then
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path"
|
||||
if test -d "$_AX_BOOST_BASE_boost_path/boost" && test -r "$_AX_BOOST_BASE_boost_path/boost"; then
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path"
|
||||
fi
|
||||
fi
|
||||
dnl if we found something and BOOST_LDFLAGS was unset before
|
||||
dnl (because "$_AX_BOOST_BASE_boost_lib_path" = ""), set it here.
|
||||
if test -n "$BOOST_CPPFLAGS" && test -z "$BOOST_LDFLAGS"; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$_AX_BOOST_BASE_boost_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test "$cross_compiling" != yes; then
|
||||
for ac_boost_path in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
if test "x$cross_compiling" != "xyes" ; then
|
||||
for _AX_BOOST_BASE_boost_path in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path" ; then
|
||||
for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "$V_CHECK" = "1" ; then
|
||||
if test "x$V_CHECK" = "x1" ; then
|
||||
_version=$_version_tmp
|
||||
best_path=$ac_boost_path
|
||||
best_path=$_AX_BOOST_BASE_boost_path
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
|
@ -219,7 +242,7 @@ if test "x$want_boost" = "xyes"; then
|
|||
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
||||
if test "$ac_boost_lib_path" = ""; then
|
||||
if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
|
|
@ -227,7 +250,7 @@ if test "x$want_boost" = "xyes"; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if test "x$BOOST_ROOT" != "x"; then
|
||||
if test -n "$BOOST_ROOT" ; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
|
|
@ -236,7 +259,7 @@ if test "x$want_boost" = "xyes"; then
|
|||
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
|
||||
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
V_CHECK=`expr $stage_version_shorten \>\= $_version`
|
||||
if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
|
||||
if test "x$V_CHECK" = "x1" && test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
|
||||
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
|
||||
BOOST_CPPFLAGS="-I$BOOST_ROOT"
|
||||
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
|
||||
|
|
@ -251,15 +274,7 @@ if test "x$want_boost" = "xyes"; then
|
|||
export LDFLAGS
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@%:@include <boost/version.hpp>
|
||||
]], [[
|
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
||||
// Everything is okay
|
||||
#else
|
||||
# error Boost version is too old
|
||||
#endif
|
||||
]])],[
|
||||
AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
|
|
@ -268,17 +283,15 @@ if test "x$want_boost" = "xyes"; then
|
|||
AC_LANG_POP([C++])
|
||||
fi
|
||||
|
||||
if test "$succeeded" != "yes" ; then
|
||||
if test "$_version" = "0" ; then
|
||||
AC_MSG_NOTICE([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
|
||||
if test "x$succeeded" != "xyes" ; then
|
||||
if test "x$_version" = "x0" ; then
|
||||
AC_MSG_NOTICE([[We could not detect the boost libraries (version $1 or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
|
||||
else
|
||||
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
|
||||
fi
|
||||
# execute ACTION-IF-NOT-FOUND (if present):
|
||||
ifelse([$3], , :, [$3])
|
||||
else
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_LDFLAGS)
|
||||
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
|
||||
# execute ACTION-IF-FOUND (if present):
|
||||
ifelse([$2], , :, [$2])
|
||||
|
|
@ -286,6 +299,5 @@ if test "x$want_boost" = "xyes"; then
|
|||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
|
||||
])
|
||||
|
|
|
|||
|
|
@ -1,118 +0,0 @@
|
|||
# ===========================================================================
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_chrono.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_BOOST_CHRONO
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Test for Chrono library from the Boost C++ libraries. The macro requires
|
||||
# a preceding call to AX_BOOST_BASE. Further documentation is available at
|
||||
# <http://randspringer.de/boost/index.html>.
|
||||
#
|
||||
# This macro calls:
|
||||
#
|
||||
# AC_SUBST(BOOST_CHRONO_LIB)
|
||||
#
|
||||
# And sets:
|
||||
#
|
||||
# HAVE_BOOST_CHRONO
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2012 Xiyue Deng <manphiz@gmail.com>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 4
|
||||
|
||||
AC_DEFUN([AX_BOOST_CHRONO],
|
||||
[
|
||||
AC_ARG_WITH([boost-chrono],
|
||||
AS_HELP_STRING([--with-boost-chrono@<:@=special-lib@:>@],
|
||||
[use the Chrono library from boost - it is possible to specify a certain library for the linker
|
||||
e.g. --with-boost-chrono=boost_chrono-gcc-mt ]),
|
||||
[
|
||||
if test "$withval" = "no"; then
|
||||
want_boost="no"
|
||||
elif test "$withval" = "yes"; then
|
||||
want_boost="yes"
|
||||
ax_boost_user_chrono_lib=""
|
||||
else
|
||||
want_boost="yes"
|
||||
ax_boost_user_chrono_lib="$withval"
|
||||
fi
|
||||
],
|
||||
[want_boost="yes"]
|
||||
)
|
||||
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Chrono library is available,
|
||||
ax_cv_boost_chrono,
|
||||
[AC_LANG_PUSH([C++])
|
||||
CXXFLAGS_SAVE=$CXXFLAGS
|
||||
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/chrono.hpp>]],
|
||||
[[boost::chrono::system_clock::time_point* time = new boost::chrono::system_clock::time_point; delete time;]])],
|
||||
ax_cv_boost_chrono=yes, ax_cv_boost_chrono=no)
|
||||
CXXFLAGS=$CXXFLAGS_SAVE
|
||||
AC_LANG_POP([C++])
|
||||
])
|
||||
if test "x$ax_cv_boost_chrono" = "xyes"; then
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
|
||||
AC_DEFINE(HAVE_BOOST_CHRONO,,[define if the Boost::Chrono library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
|
||||
LDFLAGS_SAVE=$LDFLAGS
|
||||
if test "x$ax_boost_user_chrono_lib" = "x"; then
|
||||
for libextension in `ls $BOOSTLIBDIR/libboost_chrono*.so* $BOOSTLIBDIR/libboost_chrono*.dylib* $BOOSTLIBDIR/libboost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_chrono.*\)\.so.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.a.*$;\1;'` ; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break],
|
||||
[link_chrono="no"])
|
||||
done
|
||||
if test "x$link_chrono" != "xyes"; then
|
||||
for libextension in `ls $BOOSTLIBDIR/boost_chrono*.dll* $BOOSTLIBDIR/boost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_chrono.*\)\.dll.*$;\1;' -e 's;^\(boost_chrono.*\)\.a.*$;\1;'` ; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break],
|
||||
[link_chrono="no"])
|
||||
done
|
||||
fi
|
||||
|
||||
else
|
||||
for ax_lib in $ax_boost_user_chrono_lib boost_chrono-$ax_boost_user_chrono_lib; do
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break],
|
||||
[link_chrono="no"])
|
||||
done
|
||||
|
||||
fi
|
||||
if test "x$ax_lib" = "x"; then
|
||||
AC_MSG_ERROR(Could not find a version of the library!)
|
||||
fi
|
||||
if test "x$link_chrono" = "xno"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
])
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 26
|
||||
#serial 28
|
||||
|
||||
AC_DEFUN([AX_BOOST_FILESYSTEM],
|
||||
[
|
||||
|
|
@ -80,7 +80,6 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
|
|||
if test "x$ax_cv_boost_filesystem" = "xyes"; then
|
||||
AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
ax_lib=
|
||||
if test "x$ax_boost_user_filesystem_lib" = "x"; then
|
||||
for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
|
||||
ax_lib=${libextension}
|
||||
|
|
@ -105,7 +104,7 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
|
|||
|
||||
fi
|
||||
if test "x$ax_lib" = "x"; then
|
||||
AC_MSG_ERROR(Could not find a version of the boost_filesystem library!)
|
||||
AC_MSG_ERROR(Could not find a version of the Boost::Filesystem library!)
|
||||
fi
|
||||
if test "x$link_filesystem" != "xyes"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
|
|
|
|||
121
build-aux/m4/ax_boost_process.m4
Normal file
121
build-aux/m4/ax_boost_process.m4
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
# ===========================================================================
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_process.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_BOOST_PROCESS
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Test for Process library from the Boost C++ libraries. The macro
|
||||
# requires a preceding call to AX_BOOST_BASE. Further documentation is
|
||||
# available at <http://randspringer.de/boost/index.html>.
|
||||
#
|
||||
# This macro calls:
|
||||
#
|
||||
# AC_SUBST(BOOST_PROCESS_LIB)
|
||||
#
|
||||
# And sets:
|
||||
#
|
||||
# HAVE_BOOST_PROCESS
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
|
||||
# Copyright (c) 2008 Michael Tindal
|
||||
# Copyright (c) 2008 Daniel Casimiro <dan.casimiro@gmail.com>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 2
|
||||
|
||||
AC_DEFUN([AX_BOOST_PROCESS],
|
||||
[
|
||||
AC_ARG_WITH([boost-process],
|
||||
AS_HELP_STRING([--with-boost-process@<:@=special-lib@:>@],
|
||||
[use the Process library from boost - it is possible to specify a certain library for the linker
|
||||
e.g. --with-boost-process=boost_process-gcc-mt ]),
|
||||
[
|
||||
if test "$withval" = "no"; then
|
||||
want_boost_process="no"
|
||||
elif test "$withval" = "yes"; then
|
||||
want_boost_process="yes"
|
||||
ax_boost_user_process_lib=""
|
||||
else
|
||||
want_boost_process="yes"
|
||||
ax_boost_user_process_lib="$withval"
|
||||
fi
|
||||
],
|
||||
[want_boost_process="yes"]
|
||||
)
|
||||
|
||||
if test "x$want_boost_process" = "xyes"; then
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Process library is available,
|
||||
ax_cv_boost_process,
|
||||
[AC_LANG_PUSH([C++])
|
||||
CXXFLAGS_SAVE=$CXXFLAGS
|
||||
CXXFLAGS=
|
||||
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/process.hpp>]],
|
||||
[[boost::process::child* child = new boost::process::child; delete child;]])],
|
||||
ax_cv_boost_process=yes, ax_cv_boost_process=no)
|
||||
CXXFLAGS=$CXXFLAGS_SAVE
|
||||
AC_LANG_POP([C++])
|
||||
])
|
||||
if test "x$ax_cv_boost_process" = "xyes"; then
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
|
||||
AC_DEFINE(HAVE_BOOST_PROCESS,,[define if the Boost::Process library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
|
||||
LDFLAGS_SAVE=$LDFLAGS
|
||||
if test "x$ax_boost_user_process_lib" = "x"; then
|
||||
for libextension in `ls -r $BOOSTLIBDIR/libboost_process* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_PROCESS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROCESS_LIB) link_process="yes"; break],
|
||||
[link_process="no"])
|
||||
done
|
||||
if test "x$link_process" != "xyes"; then
|
||||
for libextension in `ls -r $BOOSTLIBDIR/boost_process* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_PROCESS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROCESS_LIB) link_process="yes"; break],
|
||||
[link_process="no"])
|
||||
done
|
||||
fi
|
||||
|
||||
else
|
||||
for ax_lib in $ax_boost_user_process_lib boost_process-$ax_boost_user_process_lib; do
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_PROCESS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROCESS_LIB) link_process="yes"; break],
|
||||
[link_process="no"])
|
||||
done
|
||||
|
||||
fi
|
||||
if test "x$ax_lib" = "x"; then
|
||||
AC_MSG_ERROR(Could not find a version of the Boost::Process library!)
|
||||
fi
|
||||
if test "x$link_process" = "xno"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
])
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_system.html
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_system.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 18
|
||||
#serial 20
|
||||
|
||||
AC_DEFUN([AX_BOOST_SYSTEM],
|
||||
[
|
||||
|
|
@ -84,7 +84,6 @@ AC_DEFUN([AX_BOOST_SYSTEM],
|
|||
|
||||
LDFLAGS_SAVE=$LDFLAGS
|
||||
if test "x$ax_boost_user_system_lib" = "x"; then
|
||||
ax_lib=
|
||||
for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
|
|
@ -109,7 +108,7 @@ AC_DEFUN([AX_BOOST_SYSTEM],
|
|||
|
||||
fi
|
||||
if test "x$ax_lib" = "x"; then
|
||||
AC_MSG_ERROR(Could not find a version of the boost_system library!)
|
||||
AC_MSG_ERROR(Could not find a version of the Boost::System library!)
|
||||
fi
|
||||
if test "x$link_system" = "xno"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_thread.html
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_thread.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
|
|
@ -30,73 +30,96 @@
|
|||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 27
|
||||
#serial 33
|
||||
|
||||
AC_DEFUN([AX_BOOST_THREAD],
|
||||
[
|
||||
AC_ARG_WITH([boost-thread],
|
||||
AS_HELP_STRING([--with-boost-thread@<:@=special-lib@:>@],
|
||||
[use the Thread library from boost - it is possible to specify a certain library for the linker
|
||||
e.g. --with-boost-thread=boost_thread-gcc-mt ]),
|
||||
AC_ARG_WITH([boost-thread],
|
||||
AS_HELP_STRING([--with-boost-thread@<:@=special-lib@:>@],
|
||||
[use the Thread library from boost -
|
||||
it is possible to specify a certain library for the linker
|
||||
e.g. --with-boost-thread=boost_thread-gcc-mt ]),
|
||||
[
|
||||
if test "$withval" = "no"; then
|
||||
want_boost="no"
|
||||
elif test "$withval" = "yes"; then
|
||||
if test "$withval" = "yes"; then
|
||||
want_boost="yes"
|
||||
ax_boost_user_thread_lib=""
|
||||
else
|
||||
want_boost="yes"
|
||||
ax_boost_user_thread_lib="$withval"
|
||||
fi
|
||||
want_boost="yes"
|
||||
ax_boost_user_thread_lib="$withval"
|
||||
fi
|
||||
],
|
||||
[want_boost="yes"]
|
||||
)
|
||||
)
|
||||
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Thread library is available,
|
||||
ax_cv_boost_thread,
|
||||
ax_cv_boost_thread,
|
||||
[AC_LANG_PUSH([C++])
|
||||
CXXFLAGS_SAVE=$CXXFLAGS
|
||||
CXXFLAGS_SAVE=$CXXFLAGS
|
||||
|
||||
if test "x$host_os" = "xsolaris" ; then
|
||||
CXXFLAGS="-pthreads $CXXFLAGS"
|
||||
elif test "x$host_os" = "xmingw32" ; then
|
||||
CXXFLAGS="-mthreads $CXXFLAGS"
|
||||
else
|
||||
CXXFLAGS="-pthread $CXXFLAGS"
|
||||
fi
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/thread/thread.hpp>]],
|
||||
[[boost::thread_group thrds;
|
||||
return 0;]])],
|
||||
ax_cv_boost_thread=yes, ax_cv_boost_thread=no)
|
||||
CXXFLAGS=$CXXFLAGS_SAVE
|
||||
case "x$host_os" in
|
||||
xsolaris )
|
||||
CXXFLAGS="-pthreads $CXXFLAGS"
|
||||
break;
|
||||
;;
|
||||
xmingw32 )
|
||||
CXXFLAGS="-mthreads $CXXFLAGS"
|
||||
break;
|
||||
;;
|
||||
*android* )
|
||||
break;
|
||||
;;
|
||||
* )
|
||||
CXXFLAGS="-pthread $CXXFLAGS"
|
||||
break;
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM(
|
||||
[[@%:@include <boost/thread/thread.hpp>]],
|
||||
[[boost::thread_group thrds;
|
||||
return 0;]])],
|
||||
ax_cv_boost_thread=yes, ax_cv_boost_thread=no)
|
||||
CXXFLAGS=$CXXFLAGS_SAVE
|
||||
AC_LANG_POP([C++])
|
||||
])
|
||||
if test "x$ax_cv_boost_thread" = "xyes"; then
|
||||
if test "x$host_os" = "xsolaris" ; then
|
||||
BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS"
|
||||
elif test "x$host_os" = "xmingw32" ; then
|
||||
BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS"
|
||||
else
|
||||
BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS"
|
||||
fi
|
||||
])
|
||||
if test "x$ax_cv_boost_thread" = "xyes"; then
|
||||
case "x$host_os" in
|
||||
xsolaris )
|
||||
BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS"
|
||||
break;
|
||||
;;
|
||||
xmingw32 )
|
||||
BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS"
|
||||
break;
|
||||
;;
|
||||
*android* )
|
||||
break;
|
||||
;;
|
||||
* )
|
||||
BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS"
|
||||
break;
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
|
||||
AC_DEFINE(HAVE_BOOST_THREAD,,[define if the Boost::Thread library is available])
|
||||
AC_DEFINE(HAVE_BOOST_THREAD,,
|
||||
[define if the Boost::Thread library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
|
||||
LDFLAGS_SAVE=$LDFLAGS
|
||||
LDFLAGS_SAVE=$LDFLAGS
|
||||
case "x$host_os" in
|
||||
*bsd* )
|
||||
LDFLAGS="-pthread $LDFLAGS"
|
||||
|
|
@ -104,47 +127,61 @@ AC_DEFUN([AX_BOOST_THREAD],
|
|||
;;
|
||||
esac
|
||||
if test "x$ax_boost_user_thread_lib" = "x"; then
|
||||
ax_lib=
|
||||
for libextension in `ls -r $BOOSTLIBDIR/libboost_thread* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'`; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[link_thread="yes"; break],
|
||||
[link_thread="no"])
|
||||
done
|
||||
done
|
||||
if test "x$link_thread" != "xyes"; then
|
||||
for libextension in `ls -r $BOOSTLIBDIR/boost_thread* 2>/dev/null | sed 's,.*/,,' | sed 's,\..*,,'`; do
|
||||
ax_lib=${libextension}
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[link_thread="yes"; break],
|
||||
[link_thread="no"])
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
else
|
||||
for ax_lib in $ax_boost_user_thread_lib boost_thread-$ax_boost_user_thread_lib; do
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
|
||||
AC_CHECK_LIB($ax_lib, exit,
|
||||
[link_thread="yes"; break],
|
||||
[link_thread="no"])
|
||||
done
|
||||
|
||||
fi
|
||||
if test "x$ax_lib" = "x"; then
|
||||
AC_MSG_ERROR(Could not find a version of the boost_thread library!)
|
||||
AC_MSG_ERROR(Could not find a version of the Boost::Thread library!)
|
||||
fi
|
||||
if test "x$link_thread" = "xno"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
else
|
||||
case "x$host_os" in
|
||||
*bsd* )
|
||||
BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS"
|
||||
break;
|
||||
;;
|
||||
esac
|
||||
if test "x$link_thread" = "xno"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
else
|
||||
BOOST_THREAD_LIB="-l$ax_lib"
|
||||
case "x$host_os" in
|
||||
*bsd* )
|
||||
BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS"
|
||||
break;
|
||||
;;
|
||||
xsolaris )
|
||||
BOOST_THREAD_LIB="$BOOST_THREAD_LIB -lpthread"
|
||||
break;
|
||||
;;
|
||||
xmingw32 )
|
||||
break;
|
||||
;;
|
||||
*android* )
|
||||
break;
|
||||
;;
|
||||
* )
|
||||
BOOST_THREAD_LIB="$BOOST_THREAD_LIB -lpthread"
|
||||
break;
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(BOOST_THREAD_LIB)
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
])
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 21
|
||||
#serial 22
|
||||
|
||||
AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
|
||||
[
|
||||
|
|
@ -124,7 +124,7 @@ AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
|
|||
done
|
||||
fi
|
||||
if test "x$ax_lib" = "x"; then
|
||||
AC_MSG_ERROR(Could not find a version of the library!)
|
||||
AC_MSG_ERROR(Could not find a version of the Boost::Unit_Test_Framework library!)
|
||||
fi
|
||||
if test "x$link_unit_test_framework" != "xyes"; then
|
||||
AC_MSG_ERROR(Could not link against $ax_lib !)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
|
|
@ -33,21 +33,23 @@
|
|||
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
|
||||
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
|
||||
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
|
||||
# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
|
||||
# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 4
|
||||
#serial 11
|
||||
|
||||
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
|
||||
dnl (serial version number 13).
|
||||
|
||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
||||
m4_if([$1], [11], [],
|
||||
[$1], [14], [],
|
||||
[$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
|
||||
m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
|
||||
[$1], [14], [ax_cxx_compile_alternatives="14 1y"],
|
||||
[$1], [17], [ax_cxx_compile_alternatives="17 1z"],
|
||||
[m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
|
||||
m4_if([$2], [], [],
|
||||
[$2], [ext], [],
|
||||
|
|
@ -57,26 +59,13 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
|||
[$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
|
||||
[$3], [optional], [ax_cxx_compile_cxx$1_required=false],
|
||||
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
|
||||
m4_if([$4], [], [ax_cxx_compile_cxx$1_try_default=true],
|
||||
[$4], [default], [ax_cxx_compile_cxx$1_try_default=true],
|
||||
[$4], [nodefault], [ax_cxx_compile_cxx$1_try_default=false],
|
||||
[m4_fatal([invalid fourth argument `$4' to AX_CXX_COMPILE_STDCXX])])
|
||||
AC_LANG_PUSH([C++])dnl
|
||||
ac_success=no
|
||||
|
||||
m4_if([$4], [nodefault], [], [dnl
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
|
||||
ax_cv_cxx_compile_cxx$1,
|
||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
[ax_cv_cxx_compile_cxx$1=yes],
|
||||
[ax_cv_cxx_compile_cxx$1=no])])
|
||||
if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
|
||||
ac_success=yes
|
||||
fi])
|
||||
|
||||
m4_if([$2], [noext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
for switch in -std=gnu++$1 -std=gnu++0x; do
|
||||
for alternative in ${ax_cxx_compile_alternatives}; do
|
||||
switch="-std=gnu++${alternative}"
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
||||
$cachevar,
|
||||
|
|
@ -102,22 +91,27 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
|||
dnl HP's aCC needs +std=c++11 according to:
|
||||
dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
|
||||
dnl Cray's crayCC needs "-h std=c++11"
|
||||
for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
||||
$cachevar,
|
||||
[ac_save_CXX="$CXX"
|
||||
CXX="$CXX $switch"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
[eval $cachevar=yes],
|
||||
[eval $cachevar=no])
|
||||
CXX="$ac_save_CXX"])
|
||||
if eval test x\$$cachevar = xyes; then
|
||||
CXX="$CXX $switch"
|
||||
if test -n "$CXXCPP" ; then
|
||||
CXXCPP="$CXXCPP $switch"
|
||||
for alternative in ${ax_cxx_compile_alternatives}; do
|
||||
for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
|
||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
||||
$cachevar,
|
||||
[ac_save_CXX="$CXX"
|
||||
CXX="$CXX $switch"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
[eval $cachevar=yes],
|
||||
[eval $cachevar=no])
|
||||
CXX="$ac_save_CXX"])
|
||||
if eval test x\$$cachevar = xyes; then
|
||||
CXX="$CXX $switch"
|
||||
if test -n "$CXXCPP" ; then
|
||||
CXXCPP="$CXXCPP $switch"
|
||||
fi
|
||||
ac_success=yes
|
||||
break
|
||||
fi
|
||||
ac_success=yes
|
||||
done
|
||||
if test x$ac_success = xyes; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
|
@ -154,6 +148,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
|
|||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
||||
)
|
||||
|
||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
|
||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_17
|
||||
)
|
||||
|
||||
dnl Tests for new features in C++11
|
||||
|
||||
|
|
@ -191,11 +190,13 @@ namespace cxx11
|
|||
|
||||
struct Base
|
||||
{
|
||||
virtual ~Base() {}
|
||||
virtual void f() {}
|
||||
};
|
||||
|
||||
struct Derived : public Base
|
||||
{
|
||||
virtual ~Derived() override {}
|
||||
virtual void f() override {}
|
||||
};
|
||||
|
||||
|
|
@ -524,7 +525,7 @@ namespace cxx14
|
|||
|
||||
}
|
||||
|
||||
namespace test_digit_seperators
|
||||
namespace test_digit_separators
|
||||
{
|
||||
|
||||
constexpr auto ten_million = 100'000'000;
|
||||
|
|
@ -566,3 +567,385 @@ namespace cxx14
|
|||
#endif // __cplusplus >= 201402L
|
||||
|
||||
]])
|
||||
|
||||
|
||||
dnl Tests for new features in C++17
|
||||
|
||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
|
||||
|
||||
// If the compiler admits that it is not ready for C++17, why torture it?
|
||||
// Hopefully, this will speed up the test.
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
#error "This is not a C++ compiler"
|
||||
|
||||
#elif __cplusplus < 201703L
|
||||
|
||||
#error "This is not a C++17 compiler"
|
||||
|
||||
#else
|
||||
|
||||
#include <initializer_list>
|
||||
#include <utility>
|
||||
#include <type_traits>
|
||||
|
||||
namespace cxx17
|
||||
{
|
||||
|
||||
namespace test_constexpr_lambdas
|
||||
{
|
||||
|
||||
constexpr int foo = [](){return 42;}();
|
||||
|
||||
}
|
||||
|
||||
namespace test::nested_namespace::definitions
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
namespace test_fold_expression
|
||||
{
|
||||
|
||||
template<typename... Args>
|
||||
int multiply(Args... args)
|
||||
{
|
||||
return (args * ... * 1);
|
||||
}
|
||||
|
||||
template<typename... Args>
|
||||
bool all(Args... args)
|
||||
{
|
||||
return (args && ...);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_extended_static_assert
|
||||
{
|
||||
|
||||
static_assert (true);
|
||||
|
||||
}
|
||||
|
||||
namespace test_auto_brace_init_list
|
||||
{
|
||||
|
||||
auto foo = {5};
|
||||
auto bar {5};
|
||||
|
||||
static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
|
||||
static_assert(std::is_same<int, decltype(bar)>::value);
|
||||
}
|
||||
|
||||
namespace test_typename_in_template_template_parameter
|
||||
{
|
||||
|
||||
template<template<typename> typename X> struct D;
|
||||
|
||||
}
|
||||
|
||||
namespace test_fallthrough_nodiscard_maybe_unused_attributes
|
||||
{
|
||||
|
||||
int f1()
|
||||
{
|
||||
return 42;
|
||||
}
|
||||
|
||||
[[nodiscard]] int f2()
|
||||
{
|
||||
[[maybe_unused]] auto unused = f1();
|
||||
|
||||
switch (f1())
|
||||
{
|
||||
case 17:
|
||||
f1();
|
||||
[[fallthrough]];
|
||||
case 42:
|
||||
f1();
|
||||
}
|
||||
return f1();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_extended_aggregate_initialization
|
||||
{
|
||||
|
||||
struct base1
|
||||
{
|
||||
int b1, b2 = 42;
|
||||
};
|
||||
|
||||
struct base2
|
||||
{
|
||||
base2() {
|
||||
b3 = 42;
|
||||
}
|
||||
int b3;
|
||||
};
|
||||
|
||||
struct derived : base1, base2
|
||||
{
|
||||
int d;
|
||||
};
|
||||
|
||||
derived d1 {{1, 2}, {}, 4}; // full initialization
|
||||
derived d2 {{}, {}, 4}; // value-initialized bases
|
||||
|
||||
}
|
||||
|
||||
namespace test_general_range_based_for_loop
|
||||
{
|
||||
|
||||
struct iter
|
||||
{
|
||||
int i;
|
||||
|
||||
int& operator* ()
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
const int& operator* () const
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
iter& operator++()
|
||||
{
|
||||
++i;
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
struct sentinel
|
||||
{
|
||||
int i;
|
||||
};
|
||||
|
||||
bool operator== (const iter& i, const sentinel& s)
|
||||
{
|
||||
return i.i == s.i;
|
||||
}
|
||||
|
||||
bool operator!= (const iter& i, const sentinel& s)
|
||||
{
|
||||
return !(i == s);
|
||||
}
|
||||
|
||||
struct range
|
||||
{
|
||||
iter begin() const
|
||||
{
|
||||
return {0};
|
||||
}
|
||||
|
||||
sentinel end() const
|
||||
{
|
||||
return {5};
|
||||
}
|
||||
};
|
||||
|
||||
void f()
|
||||
{
|
||||
range r {};
|
||||
|
||||
for (auto i : r)
|
||||
{
|
||||
[[maybe_unused]] auto v = i;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_lambda_capture_asterisk_this_by_value
|
||||
{
|
||||
|
||||
struct t
|
||||
{
|
||||
int i;
|
||||
int foo()
|
||||
{
|
||||
return [*this]()
|
||||
{
|
||||
return i;
|
||||
}();
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace test_enum_class_construction
|
||||
{
|
||||
|
||||
enum class byte : unsigned char
|
||||
{};
|
||||
|
||||
byte foo {42};
|
||||
|
||||
}
|
||||
|
||||
namespace test_constexpr_if
|
||||
{
|
||||
|
||||
template <bool cond>
|
||||
int f ()
|
||||
{
|
||||
if constexpr(cond)
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 42;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_selection_statement_with_initializer
|
||||
{
|
||||
|
||||
int f()
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
|
||||
int f2()
|
||||
{
|
||||
if (auto i = f(); i > 0)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
switch (auto i = f(); i + 4)
|
||||
{
|
||||
case 17:
|
||||
return 2;
|
||||
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_template_argument_deduction_for_class_templates
|
||||
{
|
||||
|
||||
template <typename T1, typename T2>
|
||||
struct pair
|
||||
{
|
||||
pair (T1 p1, T2 p2)
|
||||
: m1 {p1},
|
||||
m2 {p2}
|
||||
{}
|
||||
|
||||
T1 m1;
|
||||
T2 m2;
|
||||
};
|
||||
|
||||
void f()
|
||||
{
|
||||
[[maybe_unused]] auto p = pair{13, 42u};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
namespace test_non_type_auto_template_parameters
|
||||
{
|
||||
|
||||
template <auto n>
|
||||
struct B
|
||||
{};
|
||||
|
||||
B<5> b1;
|
||||
B<'a'> b2;
|
||||
|
||||
}
|
||||
|
||||
namespace test_structured_bindings
|
||||
{
|
||||
|
||||
int arr[2] = { 1, 2 };
|
||||
std::pair<int, int> pr = { 1, 2 };
|
||||
|
||||
auto f1() -> int(&)[2]
|
||||
{
|
||||
return arr;
|
||||
}
|
||||
|
||||
auto f2() -> std::pair<int, int>&
|
||||
{
|
||||
return pr;
|
||||
}
|
||||
|
||||
struct S
|
||||
{
|
||||
int x1 : 2;
|
||||
volatile double y1;
|
||||
};
|
||||
|
||||
S f3()
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
auto [ x1, y1 ] = f1();
|
||||
auto& [ xr1, yr1 ] = f1();
|
||||
auto [ x2, y2 ] = f2();
|
||||
auto& [ xr2, yr2 ] = f2();
|
||||
const auto [ x3, y3 ] = f3();
|
||||
|
||||
}
|
||||
|
||||
namespace test_exception_spec_type_system
|
||||
{
|
||||
|
||||
struct Good {};
|
||||
struct Bad {};
|
||||
|
||||
void g1() noexcept;
|
||||
void g2();
|
||||
|
||||
template<typename T>
|
||||
Bad
|
||||
f(T*, T*);
|
||||
|
||||
template<typename T1, typename T2>
|
||||
Good
|
||||
f(T1*, T2*);
|
||||
|
||||
static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
|
||||
|
||||
}
|
||||
|
||||
namespace test_inline_variables
|
||||
{
|
||||
|
||||
template<class T> void f(T)
|
||||
{}
|
||||
|
||||
template<class T> inline T g(T)
|
||||
{
|
||||
return T{};
|
||||
}
|
||||
|
||||
template<> inline void f<>(int)
|
||||
{}
|
||||
|
||||
template<> int g<>(int)
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} // namespace cxx17
|
||||
|
||||
#endif // __cplusplus < 201703L
|
||||
|
||||
]])
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_pthread.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
|
|
@ -55,6 +55,7 @@
|
|||
#
|
||||
# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
|
||||
# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
|
||||
# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
|
|
@ -67,7 +68,7 @@
|
|||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
|
|
@ -82,7 +83,7 @@
|
|||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 23
|
||||
#serial 27
|
||||
|
||||
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
|
||||
AC_DEFUN([AX_PTHREAD], [
|
||||
|
|
@ -123,10 +124,12 @@ fi
|
|||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
||||
# libraries is broken (non-POSIX).
|
||||
|
||||
# Create a list of thread flags to try. Items starting with a "-" are
|
||||
# C compiler flags, and other items are library names, except for "none"
|
||||
# which indicates that we try without any flags at all, and "pthread-config"
|
||||
# which is a program returning the flags for the Pth emulation library.
|
||||
# Create a list of thread flags to try. Items with a "," contain both
|
||||
# C compiler flags (before ",") and linker flags (after ","). Other items
|
||||
# starting with a "-" are C compiler flags, and remaining items are
|
||||
# library names, except for "none" which indicates that we try without
|
||||
# any flags at all, and "pthread-config" which is a program returning
|
||||
# the flags for the Pth emulation library.
|
||||
|
||||
ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
|
||||
|
||||
|
|
@ -194,14 +197,47 @@ case $host_os in
|
|||
# that too in a future libc.) So we'll check first for the
|
||||
# standard Solaris way of linking pthreads (-mt -lpthread).
|
||||
|
||||
ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
|
||||
ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Are we compiling with Clang?
|
||||
|
||||
AC_CACHE_CHECK([whether $CC is Clang],
|
||||
[ax_cv_PTHREAD_CLANG],
|
||||
[ax_cv_PTHREAD_CLANG=no
|
||||
# Note that Autoconf sets GCC=yes for Clang as well as GCC
|
||||
if test "x$GCC" = "xyes"; then
|
||||
AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
|
||||
[/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
|
||||
# if defined(__clang__) && defined(__llvm__)
|
||||
AX_PTHREAD_CC_IS_CLANG
|
||||
# endif
|
||||
],
|
||||
[ax_cv_PTHREAD_CLANG=yes])
|
||||
fi
|
||||
])
|
||||
ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
|
||||
|
||||
|
||||
# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
|
||||
|
||||
# Note that for GCC and Clang -pthread generally implies -lpthread,
|
||||
# except when -nostdlib is passed.
|
||||
# This is problematic using libtool to build C++ shared libraries with pthread:
|
||||
# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
|
||||
# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
|
||||
# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
|
||||
# To solve this, first try -pthread together with -lpthread for GCC
|
||||
|
||||
AS_IF([test "x$GCC" = "xyes"],
|
||||
[ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
|
||||
[ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"])
|
||||
|
||||
# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first
|
||||
|
||||
AS_IF([test "x$ax_pthread_clang" = "xyes"],
|
||||
[ax_pthread_flags="-pthread,-lpthread -pthread"])
|
||||
|
||||
|
||||
# The presence of a feature test macro requesting re-entrant function
|
||||
# definitions is, on some systems, a strong hint that pthreads support is
|
||||
|
|
@ -224,25 +260,86 @@ AS_IF([test "x$ax_pthread_check_macro" = "x--"],
|
|||
[ax_pthread_check_cond=0],
|
||||
[ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
|
||||
|
||||
# Are we compiling with Clang?
|
||||
|
||||
AC_CACHE_CHECK([whether $CC is Clang],
|
||||
[ax_cv_PTHREAD_CLANG],
|
||||
[ax_cv_PTHREAD_CLANG=no
|
||||
# Note that Autoconf sets GCC=yes for Clang as well as GCC
|
||||
if test "x$GCC" = "xyes"; then
|
||||
AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
|
||||
[/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
|
||||
# if defined(__clang__) && defined(__llvm__)
|
||||
AX_PTHREAD_CC_IS_CLANG
|
||||
# endif
|
||||
],
|
||||
[ax_cv_PTHREAD_CLANG=yes])
|
||||
fi
|
||||
])
|
||||
ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
|
||||
if test "x$ax_pthread_ok" = "xno"; then
|
||||
for ax_pthread_try_flag in $ax_pthread_flags; do
|
||||
|
||||
case $ax_pthread_try_flag in
|
||||
none)
|
||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||
;;
|
||||
|
||||
*,*)
|
||||
PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"`
|
||||
PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"`
|
||||
AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"])
|
||||
;;
|
||||
|
||||
-*)
|
||||
AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
|
||||
PTHREAD_CFLAGS="$ax_pthread_try_flag"
|
||||
;;
|
||||
|
||||
pthread-config)
|
||||
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
|
||||
AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
|
||||
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
|
||||
PTHREAD_LIBS="-l$ax_pthread_try_flag"
|
||||
;;
|
||||
esac
|
||||
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
|
||||
# Check for various functions. We must include pthread.h,
|
||||
# since some functions may be macros. (On the Sequent, we
|
||||
# need a special flag -Kthread to make this header compile.)
|
||||
# We check for pthread_join because it is in -lpthread on IRIX
|
||||
# while pthread_create is in libc. We check for pthread_attr_init
|
||||
# due to DEC craziness with -lpthreads. We check for
|
||||
# pthread_cleanup_push because it is one of the few pthread
|
||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||
# We try pthread_create on general principles.
|
||||
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
|
||||
# if $ax_pthread_check_cond
|
||||
# error "$ax_pthread_check_macro must be defined"
|
||||
# endif
|
||||
static void *some_global = NULL;
|
||||
static void routine(void *a)
|
||||
{
|
||||
/* To avoid any unused-parameter or
|
||||
unused-but-set-parameter warning. */
|
||||
some_global = a;
|
||||
}
|
||||
static void *start_routine(void *a) { return a; }],
|
||||
[pthread_t th; pthread_attr_t attr;
|
||||
pthread_create(&th, 0, start_routine, 0);
|
||||
pthread_join(th, 0);
|
||||
pthread_attr_init(&attr);
|
||||
pthread_cleanup_push(routine, 0);
|
||||
pthread_cleanup_pop(0) /* ; */])],
|
||||
[ax_pthread_ok=yes],
|
||||
[])
|
||||
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
|
||||
AC_MSG_RESULT([$ax_pthread_ok])
|
||||
AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
|
||||
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
done
|
||||
fi
|
||||
|
||||
ax_pthread_clang_warning=no
|
||||
|
||||
# Clang needs special handling, because older versions handle the -pthread
|
||||
# option in a rather... idiosyncratic way
|
||||
|
|
@ -261,11 +358,6 @@ if test "x$ax_pthread_clang" = "xyes"; then
|
|||
# -pthread does define _REENTRANT, and while the Darwin headers
|
||||
# ignore this macro, third-party headers might not.)
|
||||
|
||||
PTHREAD_CFLAGS="-pthread"
|
||||
PTHREAD_LIBS=
|
||||
|
||||
ax_pthread_ok=yes
|
||||
|
||||
# However, older versions of Clang make a point of warning the user
|
||||
# that, in an invocation where only linking and no compilation is
|
||||
# taking place, the -pthread option has no effect ("argument unused
|
||||
|
|
@ -320,78 +412,7 @@ if test "x$ax_pthread_clang" = "xyes"; then
|
|||
|
||||
fi # $ax_pthread_clang = yes
|
||||
|
||||
if test "x$ax_pthread_ok" = "xno"; then
|
||||
for ax_pthread_try_flag in $ax_pthread_flags; do
|
||||
|
||||
case $ax_pthread_try_flag in
|
||||
none)
|
||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||
;;
|
||||
|
||||
-mt,pthread)
|
||||
AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
|
||||
PTHREAD_CFLAGS="-mt"
|
||||
PTHREAD_LIBS="-lpthread"
|
||||
;;
|
||||
|
||||
-*)
|
||||
AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
|
||||
PTHREAD_CFLAGS="$ax_pthread_try_flag"
|
||||
;;
|
||||
|
||||
pthread-config)
|
||||
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
|
||||
AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
|
||||
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
|
||||
PTHREAD_LIBS="-l$ax_pthread_try_flag"
|
||||
;;
|
||||
esac
|
||||
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
|
||||
# Check for various functions. We must include pthread.h,
|
||||
# since some functions may be macros. (On the Sequent, we
|
||||
# need a special flag -Kthread to make this header compile.)
|
||||
# We check for pthread_join because it is in -lpthread on IRIX
|
||||
# while pthread_create is in libc. We check for pthread_attr_init
|
||||
# due to DEC craziness with -lpthreads. We check for
|
||||
# pthread_cleanup_push because it is one of the few pthread
|
||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||
# We try pthread_create on general principles.
|
||||
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
|
||||
# if $ax_pthread_check_cond
|
||||
# error "$ax_pthread_check_macro must be defined"
|
||||
# endif
|
||||
static void routine(void *a) { a = 0; }
|
||||
static void *start_routine(void *a) { return a; }],
|
||||
[pthread_t th; pthread_attr_t attr;
|
||||
pthread_create(&th, 0, start_routine, 0);
|
||||
pthread_join(th, 0);
|
||||
pthread_attr_init(&attr);
|
||||
pthread_cleanup_push(routine, 0);
|
||||
pthread_cleanup_pop(0) /* ; */])],
|
||||
[ax_pthread_ok=yes],
|
||||
[])
|
||||
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
|
||||
AC_MSG_RESULT([$ax_pthread_ok])
|
||||
AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
|
||||
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
done
|
||||
fi
|
||||
|
||||
# Various other checks:
|
||||
if test "x$ax_pthread_ok" = "xyes"; then
|
||||
|
|
@ -438,7 +459,8 @@ if test "x$ax_pthread_ok" = "xyes"; then
|
|||
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
|
||||
[[int i = PTHREAD_PRIO_INHERIT;]])],
|
||||
[[int i = PTHREAD_PRIO_INHERIT;
|
||||
return i;]])],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT=yes],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT=no])
|
||||
])
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
|
|||
BDB_CPPFLAGS=${BDB_CFLAGS}
|
||||
fi
|
||||
AC_SUBST(BDB_CPPFLAGS)
|
||||
|
||||
|
||||
if test "x$BDB_LIBS" = "x"; then
|
||||
# TODO: Ideally this could find the library version and make sure it matches the headers being used
|
||||
for searchlib in db_cxx-4.8 db_cxx db4_cxx; do
|
||||
|
|
|
|||
|
|
@ -72,32 +72,33 @@ AC_DEFUN([BITCOIN_QT_INIT],[
|
|||
|
||||
AC_ARG_WITH([qtdbus],
|
||||
[AS_HELP_STRING([--with-qtdbus],
|
||||
[enable DBus support (default is yes if qt is enabled and QtDBus is found)])],
|
||||
[enable DBus support (default is yes if qt is enabled and QtDBus is found, except on Android)])],
|
||||
[use_dbus=$withval],
|
||||
[use_dbus=auto])
|
||||
|
||||
dnl Android doesn't support D-Bus and certainly doesn't use it for notifications
|
||||
case $host in
|
||||
*android*)
|
||||
if test "x$use_dbus" != xyes; then
|
||||
use_dbus=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(QT_TRANSLATION_DIR,$qt_translation_path)
|
||||
])
|
||||
|
||||
dnl Find the appropriate version of Qt libraries and includes.
|
||||
dnl Inputs: $1: Whether or not pkg-config should be used. yes|no. Default: yes.
|
||||
dnl Inputs: $2: If $1 is "yes" and --with-gui=auto, which qt version should be
|
||||
dnl tried first.
|
||||
dnl Outputs: See _BITCOIN_QT_FIND_LIBS_*
|
||||
dnl Find Qt libraries and includes.
|
||||
dnl
|
||||
dnl BITCOIN_QT_CONFIGURE([MINIMUM-VERSION])
|
||||
dnl
|
||||
dnl Outputs: See _BITCOIN_QT_FIND_LIBS
|
||||
dnl Outputs: Sets variables for all qt-related tools.
|
||||
dnl Outputs: bitcoin_enable_qt, bitcoin_enable_qt_dbus, bitcoin_enable_qt_test
|
||||
AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
use_pkgconfig=$1
|
||||
|
||||
if test "x$use_pkgconfig" = x; then
|
||||
use_pkgconfig=yes
|
||||
fi
|
||||
|
||||
if test "x$use_pkgconfig" = xyes; then
|
||||
BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG])
|
||||
else
|
||||
BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG])
|
||||
fi
|
||||
qt_version=">= $1"
|
||||
qt_lib_prefix="Qt5"
|
||||
BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS])
|
||||
|
||||
dnl This is ugly and complicated. Yuck. Works as follows:
|
||||
dnl For Qt5, we can check a header to find out whether Qt is build
|
||||
|
|
@ -116,8 +117,10 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
|||
if test "x$bitcoin_cv_static_qt" = xyes; then
|
||||
_BITCOIN_QT_FIND_STATIC_PLUGINS
|
||||
AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
|
||||
if test "x$TARGET_OS" != xandroid; then
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
|
||||
fi
|
||||
if test "x$TARGET_OS" = xwindows; then
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows])
|
||||
|
|
@ -128,13 +131,16 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
|||
AX_CHECK_LINK_FLAG([[-framework IOKit]],[QT_LIBS="$QT_LIBS -framework IOKit"],[AC_MSG_ERROR(could not iokit framework)])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa])
|
||||
AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa])
|
||||
elif test "x$TARGET_OS" = xandroid; then
|
||||
QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype -lQt5EglSupport $QT_LIBS"
|
||||
AC_DEFINE(QT_QPA_PLATFORM_ANDROID, 1, [Define this symbol if the qt platform is android])
|
||||
fi
|
||||
fi
|
||||
CPPFLAGS=$TEMP_CPPFLAGS
|
||||
CXXFLAGS=$TEMP_CXXFLAGS
|
||||
])
|
||||
|
||||
if test "x$use_pkgconfig$qt_bin_path" = xyes; then
|
||||
if test "x$qt_bin_path" = x; then
|
||||
qt_bin_path="`$PKG_CONFIG --variable=host_bins Qt5Core 2>/dev/null`"
|
||||
fi
|
||||
|
||||
|
|
@ -208,7 +214,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
|||
|
||||
|
||||
dnl enable qt support
|
||||
AC_MSG_CHECKING(whether to build ]AC_PACKAGE_NAME[ GUI)
|
||||
AC_MSG_CHECKING([whether to build ]AC_PACKAGE_NAME[ GUI])
|
||||
BITCOIN_QT_CHECK([
|
||||
bitcoin_enable_qt=yes
|
||||
bitcoin_enable_qt_test=yes
|
||||
|
|
@ -228,7 +234,11 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
|||
],[
|
||||
bitcoin_enable_qt=no
|
||||
])
|
||||
AC_MSG_RESULT([$bitcoin_enable_qt (Qt5)])
|
||||
if test x$bitcoin_enable_qt = xyes; then
|
||||
AC_MSG_RESULT([$bitcoin_enable_qt ($qt_lib_prefix)])
|
||||
else
|
||||
AC_MSG_RESULT([$bitcoin_enable_qt])
|
||||
fi
|
||||
|
||||
AC_SUBST(QT_PIE_FLAGS)
|
||||
AC_SUBST(QT_INCLUDES)
|
||||
|
|
@ -246,57 +256,15 @@ dnl All macros below are internal and should _not_ be used from the main
|
|||
dnl configure.ac.
|
||||
dnl ----
|
||||
|
||||
dnl Internal. Check included version of Qt against minimum specified in doc/dependencies.md
|
||||
dnl Requires: INCLUDES must be populated as necessary.
|
||||
dnl Output: bitcoin_cv_qt5=yes|no
|
||||
AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[
|
||||
AC_CACHE_CHECK(for Qt 5, bitcoin_cv_qt5,[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <QtCore/qconfig.h>
|
||||
#ifndef QT_VERSION
|
||||
# include <QtCore/qglobal.h>
|
||||
#endif
|
||||
]],
|
||||
[[
|
||||
#if QT_VERSION < 0x050501
|
||||
choke
|
||||
#endif
|
||||
]])],
|
||||
[bitcoin_cv_qt5=yes],
|
||||
[bitcoin_cv_qt5=no])
|
||||
])])
|
||||
|
||||
dnl Internal. Check if the included version of Qt is greater than Qt58.
|
||||
dnl Requires: INCLUDES must be populated as necessary.
|
||||
dnl Output: bitcoin_cv_qt5=yes|no
|
||||
AC_DEFUN([_BITCOIN_QT_CHECK_QT58],[
|
||||
AC_CACHE_CHECK(for > Qt 5.7, bitcoin_cv_qt58,[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <QtCore/qconfig.h>
|
||||
#ifndef QT_VERSION
|
||||
# include <QtCore/qglobal.h>
|
||||
#endif
|
||||
]],
|
||||
[[
|
||||
#if QT_VERSION_MINOR < 8
|
||||
choke
|
||||
#endif
|
||||
]])],
|
||||
[bitcoin_cv_qt58=yes],
|
||||
[bitcoin_cv_qt58=no])
|
||||
])])
|
||||
|
||||
|
||||
dnl Internal. Check if the linked version of Qt was built as static libs.
|
||||
dnl Requires: Qt5.
|
||||
dnl Requires: INCLUDES and LIBS must be populated as necessary.
|
||||
dnl Output: bitcoin_cv_static_qt=yes|no
|
||||
dnl Output: Defines QT_STATICPLUGIN if plugins are static.
|
||||
AC_DEFUN([_BITCOIN_QT_IS_STATIC],[
|
||||
AC_CACHE_CHECK(for static Qt, bitcoin_cv_static_qt,[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <QtCore/qconfig.h>
|
||||
#ifndef QT_VERSION OR QT_VERSION_STR
|
||||
#ifndef QT_VERSION
|
||||
# include <QtCore/qglobal.h>
|
||||
#endif
|
||||
]],
|
||||
|
|
@ -308,9 +276,6 @@ AC_DEFUN([_BITCOIN_QT_IS_STATIC],[
|
|||
[bitcoin_cv_static_qt=yes],
|
||||
[bitcoin_cv_static_qt=no])
|
||||
])
|
||||
if test "x$bitcoin_cv_static_qt" = xyes; then
|
||||
AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol for static Qt plugins])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Internal. Check if the link-requirements for static plugins are met.
|
||||
|
|
@ -341,169 +306,52 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
|
|||
if test -d "$qt_plugin_path/accessible"; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
|
||||
fi
|
||||
if test "x$use_pkgconfig" = xyes; then
|
||||
: dnl
|
||||
m4_ifdef([PKG_CHECK_MODULES],[
|
||||
if test x$bitcoin_cv_qt58 = xno; then
|
||||
PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"])
|
||||
else
|
||||
PKG_CHECK_MODULES([QTFONTDATABASE], [Qt5FontDatabaseSupport], [QT_LIBS="-lQt5FontDatabaseSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTEVENTDISPATCHER], [Qt5EventDispatcherSupport], [QT_LIBS="-lQt5EventDispatcherSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTTHEME], [Qt5ThemeSupport], [QT_LIBS="-lQt5ThemeSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTDEVICEDISCOVERY], [Qt5DeviceDiscoverySupport], [QT_LIBS="-lQt5DeviceDiscoverySupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTACCESSIBILITY], [Qt5AccessibilitySupport], [QT_LIBS="-lQt5AccessibilitySupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTFB], [Qt5FbSupport], [QT_LIBS="-lQt5FbSupport $QT_LIBS"])
|
||||
fi
|
||||
if test "x$TARGET_OS" = xlinux; then
|
||||
PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
|
||||
elif test "x$TARGET_OS" = xdarwin; then
|
||||
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport], [QT_LIBS="-lQt5ClipboardSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport], [QT_LIBS="-lQt5GraphicsSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTCGL], [Qt5CglSupport], [QT_LIBS="-lQt5CglSupport $QT_LIBS"])
|
||||
fi
|
||||
])
|
||||
else
|
||||
if test "x$TARGET_OS" = xwindows; then
|
||||
AC_CACHE_CHECK(for Qt >= 5.6, bitcoin_cv_need_platformsupport,[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <QtCore/qconfig.h>
|
||||
#ifndef QT_VERSION
|
||||
# include <QtCore/qglobal.h>
|
||||
#endif
|
||||
]],
|
||||
[[
|
||||
#if QT_VERSION < 0x050600 || QT_VERSION_MINOR < 6
|
||||
choke
|
||||
#endif
|
||||
]])],
|
||||
[bitcoin_cv_need_platformsupport=yes],
|
||||
[bitcoin_cv_need_platformsupport=no])
|
||||
])
|
||||
if test "x$bitcoin_cv_need_platformsupport" = xyes; then
|
||||
if test x$bitcoin_cv_qt58 = xno; then
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}PlatformSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXPlatformSupport not found)))
|
||||
else
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}FontDatabaseSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXFontDatabaseSupport not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}EventDispatcherSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXEventDispatcherSupport not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}ThemeSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXThemeSupport not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}FbSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXFbSupport not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}DeviceDiscoverySupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXDeviceDiscoverySupport not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}AccessibilitySupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXAccessibilitySupport not found)))
|
||||
QT_LIBS="$QT_LIBS -lversion -ldwmapi -luxtheme"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test -d "$qt_plugin_path/platforms/android"; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms/android -lqtfreetype -lEGL"
|
||||
fi
|
||||
PKG_CHECK_MODULES([QTFONTDATABASE], [Qt5FontDatabaseSupport], [QT_LIBS="-lQt5FontDatabaseSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTEVENTDISPATCHER], [Qt5EventDispatcherSupport], [QT_LIBS="-lQt5EventDispatcherSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTTHEME], [Qt5ThemeSupport], [QT_LIBS="-lQt5ThemeSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTDEVICEDISCOVERY], [Qt5DeviceDiscoverySupport], [QT_LIBS="-lQt5DeviceDiscoverySupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTACCESSIBILITY], [Qt5AccessibilitySupport], [QT_LIBS="-lQt5AccessibilitySupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTFB], [Qt5FbSupport], [QT_LIBS="-lQt5FbSupport $QT_LIBS"])
|
||||
if test "x$TARGET_OS" = xlinux; then
|
||||
PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"])
|
||||
elif test "x$TARGET_OS" = xdarwin; then
|
||||
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport], [QT_LIBS="-lQt5ClipboardSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport], [QT_LIBS="-lQt5GraphicsSupport $QT_LIBS"])
|
||||
PKG_CHECK_MODULES([QTCGL], [Qt5CglSupport], [QT_LIBS="-lQt5CglSupport $QT_LIBS"])
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Internal. Find Qt libraries using pkg-config.
|
||||
dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to check
|
||||
dnl first.
|
||||
dnl Inputs: $1: If bitcoin_qt_want_version is "auto", check for this version
|
||||
dnl first.
|
||||
dnl Outputs: All necessary QT_* variables are set.
|
||||
dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no.
|
||||
AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[
|
||||
m4_ifdef([PKG_CHECK_MODULES],[
|
||||
QT_LIB_PREFIX=Qt5
|
||||
qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets"
|
||||
BITCOIN_QT_CHECK([
|
||||
PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" have_qt=yes],[have_qt=no])
|
||||
|
||||
if test "x$have_qt" != xyes; then
|
||||
have_qt=no
|
||||
BITCOIN_QT_FAIL([Qt dependencies not found])
|
||||
fi
|
||||
])
|
||||
BITCOIN_QT_CHECK([
|
||||
PKG_CHECK_MODULES([QT_TEST], [${QT_LIB_PREFIX}Test], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no])
|
||||
if test "x$use_dbus" != xno; then
|
||||
PKG_CHECK_MODULES([QT_DBUS], [${QT_LIB_PREFIX}DBus], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no])
|
||||
fi
|
||||
])
|
||||
])
|
||||
true; dnl
|
||||
])
|
||||
|
||||
dnl Internal. Find Qt libraries without using pkg-config. Version is deduced
|
||||
dnl from the discovered headers.
|
||||
dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to use.
|
||||
dnl If "auto", the version will be discovered by _BITCOIN_QT_CHECK_QT5.
|
||||
dnl Outputs: All necessary QT_* variables are set.
|
||||
dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no.
|
||||
AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
|
||||
TEMP_CPPFLAGS="$CPPFLAGS"
|
||||
TEMP_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$PIC_FLAGS $CXXFLAGS"
|
||||
TEMP_LIBS="$LIBS"
|
||||
AC_DEFUN([_BITCOIN_QT_FIND_LIBS],[
|
||||
BITCOIN_QT_CHECK([
|
||||
if test "x$qt_include_path" != x; then
|
||||
QT_INCLUDES="-I$qt_include_path -I$qt_include_path/QtCore -I$qt_include_path/QtGui -I$qt_include_path/QtWidgets -I$qt_include_path/QtNetwork -I$qt_include_path/QtTest -I$qt_include_path/QtDBus"
|
||||
CPPFLAGS="$QT_INCLUDES $CPPFLAGS"
|
||||
fi
|
||||
PKG_CHECK_MODULES([QT_CORE], [${qt_lib_prefix}Core $qt_version], [],
|
||||
[BITCOIN_QT_FAIL([${qt_lib_prefix}Core $qt_version not found])])
|
||||
])
|
||||
|
||||
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QtPlugin],,BITCOIN_QT_FAIL(QtCore headers missing))])
|
||||
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QApplication],, BITCOIN_QT_FAIL(QtGui headers missing))])
|
||||
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QLocalSocket],, BITCOIN_QT_FAIL(QtNetwork headers missing))])
|
||||
BITCOIN_QT_CHECK([
|
||||
PKG_CHECK_MODULES([QT_GUI], [${qt_lib_prefix}Gui $qt_version], [],
|
||||
[BITCOIN_QT_FAIL([${qt_lib_prefix}Gui $qt_version not found])])
|
||||
])
|
||||
BITCOIN_QT_CHECK([
|
||||
PKG_CHECK_MODULES([QT_WIDGETS], [${qt_lib_prefix}Widgets $qt_version], [],
|
||||
[BITCOIN_QT_FAIL([${qt_lib_prefix}Widgets $qt_version not found])])
|
||||
])
|
||||
BITCOIN_QT_CHECK([
|
||||
PKG_CHECK_MODULES([QT_NETWORK], [${qt_lib_prefix}Network $qt_version], [],
|
||||
[BITCOIN_QT_FAIL([${qt_lib_prefix}Network $qt_version not found])])
|
||||
])
|
||||
QT_INCLUDES="$QT_CORE_CFLAGS $QT_GUI_CFLAGS $QT_WIDGETS_CFLAGS $QT_NETWORK_CFLAGS"
|
||||
QT_LIBS="$QT_CORE_LIBS $QT_GUI_LIBS $QT_WIDGETS_LIBS $QT_NETWORK_LIBS"
|
||||
|
||||
BITCOIN_QT_CHECK([
|
||||
if test "x$bitcoin_qt_want_version" = xauto; then
|
||||
_BITCOIN_QT_CHECK_QT5
|
||||
_BITCOIN_QT_CHECK_QT58
|
||||
fi
|
||||
QT_LIB_PREFIX=Qt5
|
||||
])
|
||||
|
||||
BITCOIN_QT_CHECK([
|
||||
LIBS=
|
||||
if test "x$qt_lib_path" != x; then
|
||||
LIBS="$LIBS -L$qt_lib_path"
|
||||
fi
|
||||
|
||||
if test "x$TARGET_OS" = xwindows; then
|
||||
AC_CHECK_LIB([imm32], [main],, BITCOIN_QT_FAIL(libimm32 not found))
|
||||
fi
|
||||
])
|
||||
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in])))
|
||||
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in])))
|
||||
if test x$bitcoin_cv_qt58 = xno; then
|
||||
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
|
||||
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in])))
|
||||
else
|
||||
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtlibpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
|
||||
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre2_match_16], [qtpcre2 libqtpcre2],,AC_MSG_WARN([libqtpcre2 not found. Assuming qt has it built-in])))
|
||||
fi
|
||||
BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng qtharfbuzz harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled])))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Core not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Gui not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Network not found)))
|
||||
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Widgets not found)))
|
||||
QT_LIBS="$LIBS"
|
||||
LIBS="$TEMP_LIBS"
|
||||
|
||||
BITCOIN_QT_CHECK([
|
||||
LIBS=
|
||||
if test "x$qt_lib_path" != x; then
|
||||
LIBS="-L$qt_lib_path"
|
||||
fi
|
||||
AC_CHECK_LIB([${QT_LIB_PREFIX}Test], [main],, have_qt_test=no)
|
||||
AC_CHECK_HEADER([QTest],, have_qt_test=no)
|
||||
QT_TEST_LIBS="$LIBS"
|
||||
PKG_CHECK_MODULES([QT_TEST], [${qt_lib_prefix}Test $qt_version], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no])
|
||||
if test "x$use_dbus" != xno; then
|
||||
LIBS=
|
||||
if test "x$qt_lib_path" != x; then
|
||||
LIBS="-L$qt_lib_path"
|
||||
fi
|
||||
AC_CHECK_LIB([${QT_LIB_PREFIX}DBus], [main],, have_qt_dbus=no)
|
||||
AC_CHECK_HEADER([QtDBus],, have_qt_dbus=no)
|
||||
QT_DBUS_LIBS="$LIBS"
|
||||
PKG_CHECK_MODULES([QT_DBUS], [${qt_lib_prefix}DBus $qt_version], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no])
|
||||
fi
|
||||
])
|
||||
CPPFLAGS="$TEMP_CPPFLAGS"
|
||||
CXXFLAGS="$TEMP_CXXFLAGS"
|
||||
LIBS="$TEMP_LIBS"
|
||||
])
|
||||
|
|
|
|||
18
build_msvc/.gitignore
vendored
18
build_msvc/.gitignore
vendored
|
|
@ -8,4 +8,20 @@ packages/*
|
|||
*/Release
|
||||
*/x64
|
||||
*.vcxproj.user
|
||||
*.vcxproj
|
||||
|
||||
# .vcxproj files that are auto-generated by the msvc-autogen.py script.
|
||||
libbitcoin_cli/libbitcoin_cli.vcxproj
|
||||
libbitcoin_common/libbitcoin_common.vcxproj
|
||||
libbitcoin_crypto/libbitcoin_crypto.vcxproj
|
||||
libbitcoin_server/libbitcoin_server.vcxproj
|
||||
libbitcoin_util/libbitcoin_util.vcxproj
|
||||
libbitcoin_wallet_tool/libbitcoin_wallet_tool.vcxproj
|
||||
libbitcoin_wallet/libbitcoin_wallet.vcxproj
|
||||
libbitcoin_zmq/libbitcoin_zmq.vcxproj
|
||||
bench_bitcoin/bench_bitcoin.vcxproj
|
||||
libtest_util/libtest_util.vcxproj
|
||||
|
||||
*/Win32
|
||||
libbitcoin_qt/QtGeneratedFiles/*
|
||||
test_bitcoin-qt/QtGeneratedFiles/*
|
||||
vcpkg_installed
|
||||
|
|
@ -3,13 +3,23 @@ Building Bitcoin Core with Visual Studio
|
|||
|
||||
Introduction
|
||||
---------------------
|
||||
Solution and project files to build the Bitcoin Core applications (except Qt dependent ones) with Visual Studio 2017 can be found in the build_msvc directory.
|
||||
Solution and project files to build the Bitcoin Core applications `msbuild` or Visual Studio can be found in the `build_msvc` directory. The build has been tested with Visual Studio 2017 and 2019.
|
||||
|
||||
Building with Visual Studio is an alternative to the Linux based [cross-compiler build](https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md).
|
||||
|
||||
Quick Start
|
||||
---------------------
|
||||
The minimal steps required to build Bitcoin Core with the msbuild toolchain are below. More detailed instructions are contained in the following sections.
|
||||
|
||||
```
|
||||
cd build_msvc
|
||||
py -3 msvc-autogen.py
|
||||
msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Release /t:build
|
||||
```
|
||||
|
||||
Dependencies
|
||||
---------------------
|
||||
A number of [open source libraries](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) are required in order to be able to build Bitcoin.
|
||||
A number of [open source libraries](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) are required in order to be able to build Bitcoin Core.
|
||||
|
||||
Options for installing the dependencies in a Visual Studio compatible manner are:
|
||||
|
||||
|
|
@ -17,33 +27,53 @@ Options for installing the dependencies in a Visual Studio compatible manner are
|
|||
- Download the source code, build each dependency, add the required include paths, link libraries and binary tools to the Visual Studio project files.
|
||||
- Use [nuget](https://www.nuget.org/) packages with the understanding that any binary files have been compiled by an untrusted third party.
|
||||
|
||||
The external dependencies required for the Visual Studio build are (see the [dependencies doc](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) for versions):
|
||||
The [external dependencies](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) required for building are listed in the `build_msvc/vcpkg.json` file. The `msbuild` project files are configured to automatically install the `vcpkg` dependencies.
|
||||
|
||||
- Berkeley DB,
|
||||
- OpenSSL,
|
||||
- Boost,
|
||||
- libevent,
|
||||
- ZeroMQ
|
||||
Qt
|
||||
---------------------
|
||||
In order to build the Bitcoin Core a static build of Qt is required. The runtime library version (e.g. v141, v142) and platform type (x86 or x64) must also match.
|
||||
|
||||
Additional dependencies required from the [bitcoin-core](https://github.com/bitcoin-core) github repository are:
|
||||
- SECP256K1,
|
||||
- LevelDB
|
||||
Some prebuilt x64 versions of Qt can be downloaded from [here](https://github.com/sipsorcery/qt_win_binary/releases). Please be aware these downloads are NOT officially sanctioned by Bitcoin Core and are provided for developer convenience only. They should NOT be used for builds that will be used in a production environment or with real funds.
|
||||
|
||||
To determine which Qt prebuilt version to download open the `.appveyor.yml` file and note the `QT_DOWNLOAD_URL`. When extracting the zip file the destination path must be set to `C:\`. This is due to the way that Qt includes, libraries and tools use internal paths.
|
||||
|
||||
To build Bitcoin Core without Qt unload or disable the `bitcoin-qt`, `libbitcoin_qt` and `test_bitcoin-qt` projects.
|
||||
|
||||
Building
|
||||
---------------------
|
||||
The instructions below use `vcpkg` to install the dependencies.
|
||||
|
||||
- Clone `vcpkg` from the [github repository](https://github.com/Microsoft/vcpkg) and install as per the instructions in the main README.md.
|
||||
- Install the required packages (replace x64 with x86 as required):
|
||||
- Install [`vcpkg`](https://github.com/Microsoft/vcpkg).
|
||||
|
||||
- Use Python to generate `*.vcxproj` from Makefile
|
||||
|
||||
```
|
||||
PS >.\vcpkg install --triplet x64-windows-static boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb secp256k1 leveldb
|
||||
PS >py -3 msvc-autogen.py
|
||||
```
|
||||
|
||||
- Use Python to generate *.vcxproj from Makefile
|
||||
- An optional step is to adjust the settings in the `build_msvc` directory and the `common.init.vcxproj` file. This project file contains settings that are common to all projects such as the runtime library version and target Windows SDK version. The Qt directories can also be set.
|
||||
|
||||
- To build from the command line with the Visual Studio 2017 toolchain use:
|
||||
|
||||
```
|
||||
PS >python msvc-autogen.py
|
||||
msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Release /p:PlatformToolset=v141 /t:build
|
||||
```
|
||||
|
||||
- Build in Visual Studio.
|
||||
- To build from the command line with the Visual Studio 2019 toolchain use:
|
||||
|
||||
```
|
||||
msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Release /t:build
|
||||
```
|
||||
|
||||
- Alternatively open the `build_msvc/bitcoin.sln` file in Visual Studio.
|
||||
|
||||
AppVeyor
|
||||
---------------------
|
||||
The .appveyor.yml in the root directory is suitable to perform builds on [AppVeyor](https://www.appveyor.com/) Continuous Integration servers. The simplest way to perform an AppVeyor build is to fork Bitcoin Core and then configure a new AppVeyor Project pointing to the forked repository.
|
||||
|
||||
For safety reasons the Bitcoin Core .appveyor.yml file has the artifact options disabled. The build will be performed but no executable files will be available. To enable artifacts on a forked repository uncomment the lines shown below:
|
||||
|
||||
```
|
||||
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
|
||||
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,223 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\bench\base58.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\bech32.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\bench.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\bench_bitcoin.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\ccoins_caching.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\checkblock.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\checkqueue.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\coin_selection.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\crypto_hash.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\examples.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\lockedpool.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\mempool_eviction.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\merkle_root.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\rollingbloom.cpp" />
|
||||
<ClCompile Include="..\..\src\bench\verify_script.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_server\libbitcoin_server.vcxproj">
|
||||
<Project>{460fee33-1fe1-483f-b3bf-931ff8e969a5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
|
||||
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_wallet\libbitcoin_wallet.vcxproj">
|
||||
<Project>{93b86837-b543-48a5-a89b-7c87abb77df2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_zmq\libbitcoin_zmq.vcxproj">
|
||||
<Project>{792d487f-f14c-49fc-a9de-3fc150f31c3f}</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>
|
||||
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
|
||||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{1125654E-E1B2-4431-8B5C-62EA9A2FEECB}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>bench_bitcoin</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NOMINMAX;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>NOMINMAX;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>NOMINMAX;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NOMINMAX;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Target Name="RawBenchHeaderGen" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>There was an error executing the raw bench header generation task.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<RawBenchFile Include="..\..\src\bench\data\*.raw" />
|
||||
</ItemGroup>
|
||||
<HeaderFromHexdump RawFilePath="%(RawBenchFile.FullPath)" HeaderFilePath="%(RawBenchFile.FullPath).h" SourceHeader="static unsigned const char %(RawBenchFile.Filename)[] = {" SourceFooter="};" />
|
||||
</Target>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Label="hexdumpTarget" Project="..\msbuild\tasks\hexdump.targets" />
|
||||
</Project>
|
||||
62
build_msvc/bench_bitcoin/bench_bitcoin.vcxproj.in
Normal file
62
build_msvc/bench_bitcoin/bench_bitcoin.vcxproj.in
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
<?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>{1125654E-E1B2-4431-8B5C-62EA9A2FEECB}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</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_server\libbitcoin_server.vcxproj">
|
||||
<Project>{460fee33-1fe1-483f-b3bf-931ff8e969a5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
|
||||
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_wallet\libbitcoin_wallet.vcxproj">
|
||||
<Project>{93b86837-b543-48a5-a89b-7c87abb77df2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_zmq\libbitcoin_zmq.vcxproj">
|
||||
<Project>{792d487f-f14c-49fc-a9de-3fc150f31c3f}</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>
|
||||
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
|
||||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libtest_util\libtest_util.vcxproj">
|
||||
<Project>{1e065f03-3566-47d0-8fa9-daa72b084e7d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Target Name="RawBenchHeaderGen" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>There was an error executing the raw bench header generation task.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<RawBenchFile Include="..\..\src\bench\data\*.raw" />
|
||||
</ItemGroup>
|
||||
<HeaderFromHexdump RawFilePath="%(RawBenchFile.FullPath)" HeaderFilePath="%(RawBenchFile.FullPath).h" SourceHeader="static unsigned const char %(RawBenchFile.Filename)_raw[] = {" SourceFooter="};" />
|
||||
</Target>
|
||||
<Import Label="hexdumpTarget" Project="..\msbuild\tasks\hexdump.targets" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
@ -1,30 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{0B2D7431-F876-4A58-87BF-F748338CD3BF}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\bitcoin-cli.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\libbitcoin_cli\libbitcoin_cli.vcxproj">
|
||||
<Project>{0667528c-d734-4009-adf9-c0d6c4a5a5a6}</Project>
|
||||
|
|
@ -39,142 +25,7 @@
|
|||
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{0B2D7431-F876-4A58-87BF-F748338CD3BF}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>bitcoincli</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
83
build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
Normal file
83
build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<Import Project="..\common.qt.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}</ProjectGuid>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\qt\main.cpp" />
|
||||
<ResourceCompile Include="..\..\src\qt\res\bitcoin-qt-res.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
|
||||
<Project>{2b384fa8-9ee1-4544-93cb-0d733c25e8ce}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_cli\libbitcoin_cli.vcxproj">
|
||||
<Project>{0667528c-d734-4009-adf9-c0d6c4a5a5a6}</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_qt\libbitcoin_qt.vcxproj">
|
||||
<Project>{2b4abff8-d1fd-4845-88c9-1f3c0a6512bf}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_server\libbitcoin_server.vcxproj">
|
||||
<Project>{460fee33-1fe1-483f-b3bf-931ff8e969a5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
|
||||
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_wallet\libbitcoin_wallet.vcxproj">
|
||||
<Project>{93b86837-b543-48a5-a89b-7c87abb77df2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_zmq\libbitcoin_zmq.vcxproj">
|
||||
<Project>{792d487f-f14c-49fc-a9de-3fc150f31c3f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
|
||||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
|
||||
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
|
||||
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(QtDebugLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
</Project>
|
||||
|
|
@ -1,24 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<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-tx.cpp" />
|
||||
</ItemGroup>
|
||||
|
|
@ -42,142 +31,7 @@
|
|||
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{D3022AF6-AD33-4CE3-B358-87CB6A1B29CF}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>bitcointx</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,24 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{84DE8790-EDE3-4483-81AC-C32F15E861F4}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\bitcoin-wallet.cpp" />
|
||||
</ItemGroup>
|
||||
|
|
@ -60,142 +49,7 @@
|
|||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{84DE8790-EDE3-4483-81AC-C32F15E861F4}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>bitcointx</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2027
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.28803.452
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin_consensus", "libbitcoinconsensus\libbitcoinconsensus.vcxproj", "{2B384FA8-9EE1-4544-93CB-0D733C25E8CE}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoinconsensus", "libbitcoinconsensus\libbitcoinconsensus.vcxproj", "{2B384FA8-9EE1-4544-93CB-0D733C25E8CE}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_libbitcoinconsensus", "testconsensus\testconsensus.vcxproj", "{E78473E9-B850-456C-9120-276301E04C06}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testconsensus", "testconsensus\testconsensus.vcxproj", "{E78473E9-B850-456C-9120-276301E04C06}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoind", "bitcoind\bitcoind.vcxproj", "{D4513DDF-6013-44DC-ADCC-12EAF6D1F038}"
|
||||
EndProject
|
||||
|
|
@ -40,6 +40,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsecp256k1", "libsecp256k
|
|||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libleveldb", "libleveldb\libleveldb.vcxproj", "{18430FEF-6B61-4C53-B396-718E02850F1B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin_qt", "libbitcoin_qt\libbitcoin_qt.vcxproj", "{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoin-qt", "bitcoin-qt\bitcoin-qt.vcxproj", "{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtest_util", "libtest_util\libtest_util.vcxproj", "{868474FD-35F6-4400-8EED-30A33E7521D4}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_bitcoin-qt", "test_bitcoin-qt\test_bitcoin-qt.vcxproj", "{51201D5E-D939-4854-AE9D-008F03FF518E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
|
|
@ -200,14 +208,45 @@ Global
|
|||
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x64.Build.0 = Release|x64
|
||||
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x86.Build.0 = Release|Win32
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x64.Build.0 = Debug|x64
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x86.Build.0 = Debug|Win32
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x64.ActiveCfg = Release|x64
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x64.Build.0 = Release|x64
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x86.ActiveCfg = Release|Win32
|
||||
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x86.Build.0 = Release|Win32
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x64.Build.0 = Debug|x64
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x64.ActiveCfg = Release|x64
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x64.Build.0 = Release|x64
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x86.Build.0 = Release|Win32
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Debug|x64.Build.0 = Debug|x64
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Debug|x86.Build.0 = Debug|Win32
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Release|x64.ActiveCfg = Release|x64
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Release|x64.Build.0 = Release|x64
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Release|x86.ActiveCfg = Release|Win32
|
||||
{868474FD-35F6-4400-8EED-30A33E7521D4}.Release|x86.Build.0 = Release|Win32
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Debug|x64.Build.0 = Debug|x64
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Release|x64.ActiveCfg = Release|x64
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Release|x64.Build.0 = Release|x64
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{51201D5E-D939-4854-AE9D-008F03FF518E}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4ABD1207-9A90-4EC9-A8EB-203638A2605D}
|
||||
SolutionGuid = {2FB733C9-24CB-4BA5-A26B-F43DAD7996B7}
|
||||
SolutionGuid = {D0CAE2D0-8DB1-4A0B-80EE-800AA6C64323}
|
||||
SolutionGuid = {DA7D16A6-E5F0-45B3-B194-C3FE64F1BFCD}
|
||||
SolutionGuid = {8AA72EDA-2CD4-4564-B1E4-688B760EEEE9}
|
||||
SolutionGuid = {8607C0F4-F33D-41B8-8D51-18E366A0F8DF}
|
||||
SolutionGuid = {58AAB032-7274-49BD-845E-5EF4DBB69B70}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
// Copyright (c) 2018-2020 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_BITCOIN_CONFIG_H
|
||||
#define BITCOIN_BITCOIN_CONFIG_H
|
||||
|
||||
|
|
@ -11,10 +15,10 @@
|
|||
#define CLIENT_VERSION_IS_RELEASE false
|
||||
|
||||
/* Major version */
|
||||
#define CLIENT_VERSION_MAJOR 1
|
||||
#define CLIENT_VERSION_MAJOR 0
|
||||
|
||||
/* Minor version */
|
||||
#define CLIENT_VERSION_MINOR 18
|
||||
#define CLIENT_VERSION_MINOR 20
|
||||
|
||||
/* Build revision */
|
||||
#define CLIENT_VERSION_REVISION 99
|
||||
|
|
@ -29,7 +33,7 @@
|
|||
#define COPYRIGHT_HOLDERS_SUBSTITUTION "Bitcoin Core"
|
||||
|
||||
/* Copyright year */
|
||||
#define COPYRIGHT_YEAR 2018
|
||||
#define COPYRIGHT_YEAR 2019
|
||||
|
||||
/* Define to 1 to enable wallet functions */
|
||||
#define ENABLE_WALLET 1
|
||||
|
|
@ -37,20 +41,14 @@
|
|||
/* Define to 1 to enable ZMQ functions */
|
||||
#define ENABLE_ZMQ 1
|
||||
|
||||
/* parameter and return value type for __fdelt_chk */
|
||||
/* #undef FDELT_TYPE */
|
||||
|
||||
/* define if the Boost library is available */
|
||||
#define HAVE_BOOST /**/
|
||||
|
||||
/* define if the Boost::Chrono library is available */
|
||||
#define HAVE_BOOST_CHRONO /**/
|
||||
|
||||
/* define if the Boost::Filesystem library is available */
|
||||
#define HAVE_BOOST_FILESYSTEM /**/
|
||||
|
||||
/* define if the Boost::PROGRAM_OPTIONS library is available */
|
||||
#define HAVE_BOOST_PROGRAM_OPTIONS /**/
|
||||
/* define if the Boost::Process library is available */
|
||||
#define HAVE_BOOST_PROCESS /**/
|
||||
|
||||
/* define if the Boost::System library is available */
|
||||
#define HAVE_BOOST_SYSTEM /**/
|
||||
|
|
@ -98,10 +96,6 @@
|
|||
*/
|
||||
#define HAVE_DECL_DAEMON 0
|
||||
|
||||
/* Define to 1 if you have the declaration of `EVP_MD_CTX_new', and to 0 if
|
||||
you don't. */
|
||||
//#define HAVE_DECL_EVP_MD_CTX_NEW 1
|
||||
|
||||
/* Define to 1 if you have the declaration of `htobe16', and to 0 if you
|
||||
don't. */
|
||||
#define HAVE_DECL_HTOBE16 0
|
||||
|
|
@ -146,18 +140,6 @@
|
|||
don't. */
|
||||
#define HAVE_DECL_STRNLEN 1
|
||||
|
||||
/* Define to 1 if you have the declaration of `__builtin_clz', and to 0 if you
|
||||
don't. */
|
||||
//#define HAVE_DECL___BUILTIN_CLZ 1
|
||||
|
||||
/* Define to 1 if you have the declaration of `__builtin_clzl', and to 0 if
|
||||
you don't. */
|
||||
//#define HAVE_DECL___BUILTIN_CLZL 1
|
||||
|
||||
/* Define to 1 if you have the declaration of `__builtin_clzll', and to 0 if
|
||||
you don't. */
|
||||
//#define HAVE_DECL___BUILTIN_CLZLL 1
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
/* #undef HAVE_DLFCN_H */
|
||||
|
||||
|
|
@ -183,75 +165,6 @@
|
|||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the `advapi32' library (-ladvapi32). */
|
||||
#define HAVE_LIBADVAPI32 1
|
||||
|
||||
/* Define to 1 if you have the `comctl32' library (-lcomctl32). */
|
||||
#define HAVE_LIBCOMCTL32 1
|
||||
|
||||
/* Define to 1 if you have the `comdlg32' library (-lcomdlg32). */
|
||||
#define HAVE_LIBCOMDLG32 1
|
||||
|
||||
/* Define to 1 if you have the `crypt32' library (-lcrypt32). */
|
||||
#define HAVE_LIBCRYPT32 1
|
||||
|
||||
/* Define to 1 if you have the `gdi32' library (-lgdi32). */
|
||||
#define HAVE_LIBGDI32 1
|
||||
|
||||
/* Define to 1 if you have the `imm32' library (-limm32). */
|
||||
#define HAVE_LIBIMM32 1
|
||||
|
||||
/* Define to 1 if you have the `iphlpapi' library (-liphlpapi). */
|
||||
#define HAVE_LIBIPHLPAPI 1
|
||||
|
||||
/* Define to 1 if you have the `kernel32' library (-lkernel32). */
|
||||
#define HAVE_LIBKERNEL32 1
|
||||
|
||||
/* Define to 1 if you have the `mingwthrd' library (-lmingwthrd). */
|
||||
#define HAVE_LIBMINGWTHRD 1
|
||||
|
||||
/* Define to 1 if you have the `mswsock' library (-lmswsock). */
|
||||
#define HAVE_LIBMSWSOCK 1
|
||||
|
||||
/* Define to 1 if you have the `ole32' library (-lole32). */
|
||||
#define HAVE_LIBOLE32 1
|
||||
|
||||
/* Define to 1 if you have the `oleaut32' library (-loleaut32). */
|
||||
#define HAVE_LIBOLEAUT32 1
|
||||
|
||||
/* Define to 1 if you have the `rpcrt4' library (-lrpcrt4). */
|
||||
#define HAVE_LIBRPCRT4 1
|
||||
|
||||
/* Define to 1 if you have the `rt' library (-lrt). */
|
||||
/* #undef HAVE_LIBRT */
|
||||
|
||||
/* Define to 1 if you have the `shell32' library (-lshell32). */
|
||||
#define HAVE_LIBSHELL32 1
|
||||
|
||||
/* Define to 1 if you have the `shlwapi' library (-lshlwapi). */
|
||||
#define HAVE_LIBSHLWAPI 1
|
||||
|
||||
/* Define to 1 if you have the `ssp' library (-lssp). */
|
||||
#define HAVE_LIBSSP 1
|
||||
|
||||
/* Define to 1 if you have the `user32' library (-luser32). */
|
||||
#define HAVE_LIBUSER32 1
|
||||
|
||||
/* Define to 1 if you have the `uuid' library (-luuid). */
|
||||
#define HAVE_LIBUUID 1
|
||||
|
||||
/* Define to 1 if you have the `winmm' library (-lwinmm). */
|
||||
#define HAVE_LIBWINMM 1
|
||||
|
||||
/* Define to 1 if you have the `winspool' library (-lwinspool). */
|
||||
#define HAVE_LIBWINSPOOL 1
|
||||
|
||||
/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
|
||||
#define HAVE_LIBWS2_32 1
|
||||
|
||||
/* Define to 1 if you have the `z ' library (-lz ). */
|
||||
#define HAVE_LIBZ_ 1
|
||||
|
||||
/* Define this symbol if you have malloc_info */
|
||||
/* #undef HAVE_MALLOC_INFO */
|
||||
|
||||
|
|
@ -330,12 +243,6 @@
|
|||
/* Define if the visibility attribute is supported. */
|
||||
#define HAVE_VISIBILITY_ATTRIBUTE 1
|
||||
|
||||
/* Define this symbol if boost sleep works */
|
||||
/* #undef HAVE_WORKING_BOOST_SLEEP */
|
||||
|
||||
/* Define this symbol if boost sleep_for works */
|
||||
#define HAVE_WORKING_BOOST_SLEEP_FOR 1
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#define LT_OBJDIR ".libs/"
|
||||
|
||||
|
|
@ -346,7 +253,7 @@
|
|||
#define PACKAGE_NAME "Bitcoin Core"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "Bitcoin Core 0.17.99"
|
||||
#define PACKAGE_STRING "Bitcoin Core 0.19.99"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "bitcoin"
|
||||
|
|
@ -355,7 +262,7 @@
|
|||
#define PACKAGE_URL "https://bitcoincore.org/"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "0.17.99"
|
||||
#define PACKAGE_VERSION "0.19.99"
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
|
|
@ -385,9 +292,6 @@
|
|||
/* Define this symbol to build in assembly routines */
|
||||
//#define USE_ASM 1
|
||||
|
||||
/* Define this symbol if coverage is enabled */
|
||||
/* #undef USE_COVERAGE */
|
||||
|
||||
/* Define if dbus support should be compiled in */
|
||||
/* #undef USE_DBUS */
|
||||
|
||||
|
|
@ -421,4 +325,14 @@
|
|||
/* Define for large files, on AIX-style hosts. */
|
||||
/* #undef _LARGE_FILES */
|
||||
|
||||
/* Windows Universal Platform constraints */
|
||||
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
|
||||
/* Either a desktop application without API restrictions, or and older system
|
||||
before these macros were defined. */
|
||||
|
||||
/* ::wsystem is available */
|
||||
#define HAVE_SYSTEM 1
|
||||
|
||||
#endif // !WINAPI_FAMILY || WINAPI_FAMILY_DESKTOP_APP
|
||||
|
||||
#endif //BITCOIN_BITCOIN_CONFIG_H
|
||||
|
|
|
|||
|
|
@ -1,157 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{D4513DDF-6013-44DC-ADCC-12EAF6D1F038}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>bitcoind</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\bitcoind.cpp" />
|
||||
</ItemGroup>
|
||||
|
|
@ -187,5 +43,33 @@
|
|||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Label="ReplaceInFile" Project="..\msbuild\tasks\replaceinfile.targets" />
|
||||
<PropertyGroup>
|
||||
<ConfigIniIn>..\..\test\config.ini.in</ConfigIniIn>
|
||||
<ConfigIniOut>..\..\test\config.ini</ConfigIniOut>
|
||||
</PropertyGroup>
|
||||
<Target Name="AfterBuild">
|
||||
<Copy SourceFiles="$(ConfigIniIn)" DestinationFiles="$(ConfigIniOut)" ></Copy>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@PACKAGE_NAME@" By="Bitcoin Core"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@abs_top_srcdir@" By="..\.." ToFullPath="true"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@abs_top_builddir@" By="..\.." ToFullPath="true"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@EXEEXT@" By=".exe"></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@ENABLE_WALLET_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@BUILD_BITCOIN_CLI_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@BUILD_BITCOIND_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@ENABLE_FUZZ_TRUE@" By=""></ReplaceInFile>
|
||||
<ReplaceInFile FilePath="$(ConfigIniOut)"
|
||||
Replace="@ENABLE_ZMQ_TRUE@" By=""></ReplaceInFile>
|
||||
</Target>
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' and !Exists('$(WindowsSdkDir)\DesignTime\CommonConfiguration\Neutral\Windows.props')">
|
||||
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
|
||||
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
|
||||
<!-- Sometimes the version in the registry has to .0 suffix, and sometimes it doesn't. Check and add it -->
|
||||
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' != '' and !$(WindowsTargetPlatformVersion_10.EndsWith('.0'))">$(WindowsTargetPlatformVersion_10).0</WindowsTargetPlatformVersion_10>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
||||
<WindowsTargetPlatformVersion>$(WindowsTargetPlatformVersion_10)</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
<UseNativeEnvironment>true</UseNativeEnvironment>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Label="Vcpkg">
|
||||
<VcpkgEnabled>true</VcpkgEnabled>
|
||||
<VcpkgEnableManifest>true</VcpkgEnableManifest>
|
||||
<VcpkgManifestInstall>true</VcpkgManifestInstall>
|
||||
<VcpkgUseStatic>true</VcpkgUseStatic>
|
||||
<VcpkgAutoLink>true</VcpkgAutoLink>
|
||||
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' and !Exists('$(WindowsSdkDir)\DesignTime\CommonConfiguration\Neutral\Windows.props')">
|
||||
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
|
||||
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
|
||||
<!-- Sometimes the version in the registry has to .0 suffix, and sometimes it doesn't. Check and add it -->
|
||||
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' != '' and !$(WindowsTargetPlatformVersion_10.EndsWith('.0'))">$(WindowsTargetPlatformVersion_10).0</WindowsTargetPlatformVersion_10>
|
||||
<WindowsTargetPlatformVersion>$(WindowsTargetPlatformVersion_10)</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<AdditionalOptions>/utf-8 /std:c++17 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4018;4221;4244;4267;4334;4715;4805;4834</DisableSpecificWarnings>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING;ZMQ_STATIC;NOMINMAX;WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CONSOLE;_WIN32_WINNT=0x0601;_WIN32_IE=0x0501;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalOptions>/ignore:4221</AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="common.init.vcxproj.user" Condition="Exists('common.init.vcxproj.user')" />
|
||||
</Project>
|
||||
|
|
|
|||
16
build_msvc/common.qt.init.vcxproj
Normal file
16
build_msvc/common.qt.init.vcxproj
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup Label="QtGlobals">
|
||||
<QtBaseDir>C:\Qt5.9.8_x64_static_vs2019</QtBaseDir>
|
||||
<QtPluginsLibraryDir>$(QtBaseDir)\plugins</QtPluginsLibraryDir>
|
||||
<QtLibraryDir>$(QtBaseDir)\lib</QtLibraryDir>
|
||||
<QtIncludeDir>$(QtBaseDir)\include</QtIncludeDir>
|
||||
<QtIncludes>$(QtIncludeDir);$(QtIncludeDir)\QtNetwork;$(QtIncludeDir)\QtCore;$(QtIncludeDir)\QtWidgets;$(QtIncludeDir)\QtGui;</QtIncludes>
|
||||
<GeneratedFilesOutDir>.\QtGeneratedFiles\qt</GeneratedFilesOutDir>
|
||||
<QtToolsDir>$(QtBaseDir)\bin</QtToolsDir>
|
||||
<QtReleaseLibraries>$(QtPluginsLibraryDir)\platforms\qminimal.lib;$(QtPluginsLibraryDir)\platforms\qwindows.lib;$(QtLibraryDir)\qtfreetype.lib;$(QtLibraryDir)\qtharfbuzz.lib;$(QtLibraryDir)\qtlibpng.lib;$(QtLibraryDir)\qtpcre2.lib;$(QtLibraryDir)\Qt5AccessibilitySupport.lib;$(QtLibraryDir)\Qt5Core.lib;$(QtLibraryDir)\Qt5Concurrent.lib;$(QtLibraryDir)\Qt5EventDispatcherSupport.lib;$(QtLibraryDir)\Qt5FontDatabaseSupport.lib;$(QtLibraryDir)\Qt5Gui.lib;$(QtLibraryDir)\Qt5Network.lib;$(QtLibraryDir)\Qt5PlatformCompositorSupport.lib;$(QtLibraryDir)\Qt5ThemeSupport.lib;$(QtLibraryDir)\Qt5Widgets.lib;$(QtLibraryDir)\Qt5WinExtras.lib;$(QtLibraryDir)\qtmain.lib;userenv.lib;netapi32.lib;imm32.lib;Dwmapi.lib;version.lib;winmm.lib;UxTheme.lib</QtReleaseLibraries>
|
||||
<QtDebugLibraries>$(QtPluginsLibraryDir)\platforms\qwindowsd.lib;$(QtPluginsLibraryDir)\platforms\qminimald.lib;$(QtLibraryDir)\*d.lib;crypt32.lib;userenv.lib;netapi32.lib;imm32.lib;Dwmapi.lib;version.lib;winmm.lib;UxTheme.lib</QtDebugLibraries>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,29 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<PropertyGroup>
|
||||
<BuildDependsOn>
|
||||
CopyBitcoinConfig;
|
||||
CopySecp256k1Config;
|
||||
$(BuildDependsOn);
|
||||
</BuildDependsOn>
|
||||
</PropertyGroup>
|
||||
<Target Name="CopyBitcoinConfig"
|
||||
Inputs="$(MSBuildThisFileDirectory)bitcoin_config.h"
|
||||
Outputs="$(MSBuildThisFileDirectory)..\src\config\bitcoin-config.h">
|
||||
<Copy SourceFiles="$(MSBuildThisFileDirectory)bitcoin_config.h" DestinationFiles="$(MSBuildThisFileDirectory)..\src\config\bitcoin-config.h" />
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup><BuildDependsOn>$(BuildDependsOn);CopyBuildArtifacts</BuildDependsOn></PropertyGroup>
|
||||
<Target Name="CopyBuildArtifacts" Condition="'$(ConfigurationType)' != 'StaticLibrary'">
|
||||
<ItemGroup>
|
||||
<BuildArtifacts Include="$(OutDir)$(TargetName)$(TargetExt)"></BuildArtifacts>
|
||||
<BuildArtifacts Include="$(OutDir)$(TargetName).pdb"></BuildArtifacts>
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(BuildArtifacts)" SkipUnchangedFiles="true" DestinationFolder="..\..\src\" Condition="'$(OutDir)' != ''"></Copy>
|
||||
</Target>
|
||||
<Target Name="CopySecp256k1Config"
|
||||
Inputs="$(MSBuildThisFileDirectory)libsecp256k1_config.h"
|
||||
Outputs="$(MSBuildThisFileDirectory)..\src\secp256k1\src\libsecp256k1-config.h">
|
||||
<Copy SourceFiles="$(MSBuildThisFileDirectory)libsecp256k1_config.h" DestinationFiles="$(MSBuildThisFileDirectory)..\src\secp256k1\src\libsecp256k1-config.h" />
|
||||
</Target>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4018;4244;4267;4715;4805;</DisableSpecificWarnings>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x0601;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="common.vcxproj.user" Condition="Exists('common.vcxproj.user')" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,162 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{0667528C-D734-4009-ADF9-C0D6C4A5A5A6}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{0667528C-D734-4009-ADF9-C0D6C4A5A5A6}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_cli</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,174 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{7C87E378-DF58-482E-AA2F-1BC129BC19CE}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_common</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,157 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{6190199C-6CF4-4DAD-BFBD-93FA72A760C1}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_crypto</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,166 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{460FEE33-1FE1-483F-B3BF-931FF8E969A5}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_server</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
<ClCompile Include="..\..\src\wallet\init.cpp">
|
||||
<ObjectFileName>$(IntDir)wallet_init.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\srcpcegister.h" />
|
||||
</ItemGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
@ -1,180 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{B53A5535-EE9D-4C6F-9A26-F79EE3BC3754}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_util</RootNamespace>
|
||||
<ProjectName>libbitcoin_util</ProjectName>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\util\url.cpp" />
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,166 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{93B86837-B543-48A5-A89B-7C87ABB77DF2}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{93B86837-B543-48A5-A89B-7C87ABB77DF2}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_wallet</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\wallet;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\wallet;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\wallet;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\wallet;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,166 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{F91AC55E-6F5E-4C58-9AC5-B40DB7DEEF93}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_zmq</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,166 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{792D487F-F14C-49FC-A9DE-3FC150F31C3F}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{792D487F-F14C-49FC-A9DE-3FC150F31C3F}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libbitcoin_zmq</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NOMINMAX;ZMQ_STATIC;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,27 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{2B384FA8-9EE1-4544-93CB-0D733C25E8CE}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\arith_uint256.cpp" />
|
||||
<ClCompile Include="..\..\src\consensus\merkle.cpp" />
|
||||
<ClCompile Include="..\..\src\consensus\tx_check.cpp" />
|
||||
<ClCompile Include="..\..\src\crypto\aes.cpp" />
|
||||
<ClCompile Include="..\..\src\crypto\chacha20.cpp" />
|
||||
<ClCompile Include="..\..\src\crypto\hmac_sha256.cpp" />
|
||||
|
|
@ -42,158 +31,7 @@
|
|||
<ClCompile Include="..\..\src\uint256.cpp" />
|
||||
<ClCompile Include="..\..\src\util\strencodings.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{2B384FA8-9EE1-4544-93CB-0D733C25E8CE}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>bitcoind</RootNamespace>
|
||||
<ProjectName>libbitcoin_consensus</ProjectName>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>
|
||||
</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>
|
||||
</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>
|
||||
</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>
|
||||
</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\secp256k1\include;</AdditionalIncludeDirectories>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
@ -1,24 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{18430FEF-6B61-4C53-B396-718E02850F1B}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\leveldb\db\builder.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\db\c.cc" />
|
||||
|
|
@ -36,8 +24,6 @@
|
|||
<ClCompile Include="..\..\src\leveldb\db\version_set.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\db\write_batch.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\helpers\memenv\memenv.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\port\port_posix_sse.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\port\port_win.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\table\block.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\table\block_builder.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\table\filter_block.cc" />
|
||||
|
|
@ -54,7 +40,7 @@
|
|||
<ClCompile Include="..\..\src\leveldb\util\comparator.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\crc32c.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\env.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\env_win.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\env_windows.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\filter_policy.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\hash.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\histogram.cc" />
|
||||
|
|
@ -62,141 +48,14 @@
|
|||
<ClCompile Include="..\..\src\leveldb\util\options.cc" />
|
||||
<ClCompile Include="..\..\src\leveldb\util\status.cc" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{18430FEF-6B61-4C53-B396-718E02850F1B}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libunivalue</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;LEVELDB_PLATFORM_WINDOWS;LEVELDB_ATOMIC_PRESENT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\leveldb;..\..\src\leveldb\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;LEVELDB_PLATFORM_WINDOWS;LEVELDB_ATOMIC_PRESENT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\leveldb;..\..\src\leveldb\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;LEVELDB_PLATFORM_WINDOWS;LEVELDB_ATOMIC_PRESENT;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\leveldb;..\..\src\leveldb\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;LEVELDB_PLATFORM_WINDOWS;LEVELDB_ATOMIC_PRESENT;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\leveldb;..\..\src\leveldb\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<TreatWarningAsError>false</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>HAVE_CRC32C=0;HAVE_SNAPPY=0;__STDC_LIMIT_MACROS;LEVELDB_IS_BIG_ENDIAN=0;_UNICODE;UNICODE;_CRT_NONSTDC_NO_DEPRECATE;LEVELDB_PLATFORM_WINDOWS;LEVELDB_ATOMIC_PRESENT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DisableSpecificWarnings>4244;4267;4312;4722;</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>..\..\src\leveldb;..\..\src\leveldb\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,157 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\secp256k1\src\secp256k1.c" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libunivalue</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;ENABLE_MODULE_EXTRAKEYS;ENABLE_MODULE_SCHNORRSIG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\..\src\secp256k1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;HAVE_CONFIG_H;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\secp256k1;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;HAVE_CONFIG_H;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\secp256k1;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;HAVE_CONFIG_H;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\secp256k1;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>ENABLE_MODULE_ECDH;ENABLE_MODULE_RECOVERY;HAVE_CONFIG_H;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\secp256k1;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
@ -26,4 +26,7 @@
|
|||
#define USE_FIELD_10X26 1
|
||||
#define USE_SCALAR_8X32 1
|
||||
|
||||
#define ECMULT_GEN_PREC_BITS 4
|
||||
#define ECMULT_WINDOW_SIZE 15
|
||||
|
||||
#endif /* BITCOIN_LIBSECP256K1_CONFIG_H */
|
||||
|
|
|
|||
16
build_msvc/libtest_util/libtest_util.vcxproj.in
Normal file
16
build_msvc/libtest_util/libtest_util.vcxproj.in
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?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>{868474FD-35F6-4400-8EED-30A33E7521D4}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@SOURCE_FILES@
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
@ -1,160 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{5724BA7D-A09A-4BA8-800B-C4C1561B3D69}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\univalue\lib\univalue.cpp" />
|
||||
<ClCompile Include="..\..\src\univalue\lib\univalue_get.cpp" />
|
||||
<ClCompile Include="..\..\src\univalue\lib\univalue_read.cpp" />
|
||||
<ClCompile Include="..\..\src\univalue\lib\univalue_write.cpp" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{5724BA7D-A09A-4BA8-800B-C4C1561B3D69}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libunivalue</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\univalue\include;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
35
build_msvc/msbuild/tasks/replaceinfile.targets
Normal file
35
build_msvc/msbuild/tasks/replaceinfile.targets
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<UsingTask
|
||||
TaskName="ReplaceInFile"
|
||||
TaskFactory="CodeTaskFactory"
|
||||
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll" >
|
||||
<ParameterGroup>
|
||||
<FilePath Required="true" />
|
||||
<Replace Required="true" />
|
||||
<By Required="false" />
|
||||
<ToFullPath Required="false" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Using Namespace="System"/>
|
||||
<Using Namespace="System.IO"/>
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
if(File.Exists(FilePath) == false) {
|
||||
Log.LogError("replaceinfile task could not locate " + FilePath + ".");
|
||||
}
|
||||
else {
|
||||
var data = File.ReadAllText(FilePath);
|
||||
var by = By;
|
||||
if (ToFullPath == "true")
|
||||
{
|
||||
by = Path.GetFullPath(by);
|
||||
}
|
||||
data = data.Replace(Replace, by);
|
||||
Log.LogMessage("Replace '" + Replace + "' by '" + by + "' in " + FilePath);
|
||||
File.WriteAllText(FilePath, data, new System.Text.UTF8Encoding(false));
|
||||
}
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
</Project>
|
||||
|
|
@ -1,9 +1,15 @@
|
|||
#!/usr/bin/env python3
|
||||
# Copyright (c) 2016-2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
import os
|
||||
import re
|
||||
import argparse
|
||||
from shutil import copyfile
|
||||
|
||||
SOURCE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'src'))
|
||||
DEFAULT_PLATFORM_TOOLSET = R'v141'
|
||||
|
||||
libs = [
|
||||
'libbitcoin_cli',
|
||||
|
|
@ -14,6 +20,8 @@ libs = [
|
|||
'libbitcoin_wallet_tool',
|
||||
'libbitcoin_wallet',
|
||||
'libbitcoin_zmq',
|
||||
'bench_bitcoin',
|
||||
'libtest_util',
|
||||
]
|
||||
|
||||
ignore_list = [
|
||||
|
|
@ -42,8 +50,21 @@ def parse_makefile(makefile):
|
|||
lib_sources[current_lib] = []
|
||||
break
|
||||
|
||||
def set_common_properties(toolset):
|
||||
with open(os.path.join(SOURCE_DIR, '../build_msvc/common.init.vcxproj'), 'r', encoding='utf-8') as rfile:
|
||||
s = rfile.read()
|
||||
s = re.sub('<PlatformToolset>.*?</PlatformToolset>', '<PlatformToolset>'+toolset+'</PlatformToolset>', s)
|
||||
with open(os.path.join(SOURCE_DIR, '../build_msvc/common.init.vcxproj'), 'w', encoding='utf-8',newline='\n') as wfile:
|
||||
wfile.write(s)
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Bitcoin-core msbuild configuration initialiser.')
|
||||
parser.add_argument('-toolset', nargs='?',help='Optionally sets the msbuild platform toolset, e.g. v142 for Visual Studio 2019.'
|
||||
' default is %s.'%DEFAULT_PLATFORM_TOOLSET)
|
||||
args = parser.parse_args()
|
||||
if args.toolset:
|
||||
set_common_properties(args.toolset)
|
||||
|
||||
for makefile_name in os.listdir(SOURCE_DIR):
|
||||
if 'Makefile' in makefile_name:
|
||||
parse_makefile(os.path.join(SOURCE_DIR, makefile_name))
|
||||
|
|
@ -58,7 +79,8 @@ def main():
|
|||
with open(vcxproj_filename, 'w', encoding='utf-8') as vcxproj_file:
|
||||
vcxproj_file.write(vcxproj_in_file.read().replace(
|
||||
'@SOURCE_FILES@\n', content))
|
||||
|
||||
copyfile(os.path.join(SOURCE_DIR,'../build_msvc/bitcoin_config.h'), os.path.join(SOURCE_DIR, 'config/bitcoin-config.h'))
|
||||
copyfile(os.path.join(SOURCE_DIR,'../build_msvc/libsecp256k1_config.h'), os.path.join(SOURCE_DIR, 'secp256k1/src/libsecp256k1-config.h'))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -1,146 +1,122 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<Import Project="..\common.qt.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{51201D5E-D939-4854-AE9D-008F03FF518E}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>test_bitcoinqt</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\test\util\setup_common.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\addressbooktests.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\apptests.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\compattests.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\rpcnestedtests.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\test_main.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\uritests.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\util.cpp" />
|
||||
<ClCompile Include="..\..\src\qt\test\wallettests.cpp" />
|
||||
<ClCompile Include="..\..\src\wallet\test\wallet_test_fixture.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_addressbooktests.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_apptests.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_compattests.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_rpcnestedtests.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_uritests.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_wallettests.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
|
||||
<Project>{2b384fa8-9ee1-4544-93cb-0d733c25e8ce}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_cli\libbitcoin_cli.vcxproj">
|
||||
<Project>{0667528c-d734-4009-adf9-c0d6c4a5a5a6}</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_qt\libbitcoin_qt.vcxproj">
|
||||
<Project>{2b4abff8-d1fd-4845-88c9-1f3c0a6512bf}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_server\libbitcoin_server.vcxproj">
|
||||
<Project>{460fee33-1fe1-483f-b3bf-931ff8e969a5}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
|
||||
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_wallet\libbitcoin_wallet.vcxproj">
|
||||
<Project>{93b86837-b543-48a5-a89b-7c87abb77df2}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_zmq\libbitcoin_zmq.vcxproj">
|
||||
<Project>{792d487f-f14c-49fc-a9de-3fc150f31c3f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
|
||||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
|
||||
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
|
||||
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\libbitcoin_qt\$(GeneratedFilesOutDir)\..\;$(QtIncludeDir)\QtTest;$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(QtLibraryDir)\Qt5Test.lib;$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\libbitcoin_qt\$(GeneratedFilesOutDir)\..\;$(QtIncludeDir)\QtTest;$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>$(QtDebugLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<ItemGroup>
|
||||
<MocTestFiles Include="..\..\src\qt\test\addressbooktests.h" />
|
||||
<MocTestFiles Include="..\..\src\qt\test\apptests.h" />
|
||||
<MocTestFiles Include="..\..\src\qt\test\compattests.h" />
|
||||
<MocTestFiles Include="..\..\src\qt\test\rpcnestedtests.h" />
|
||||
<MocTestFiles Include="..\..\src\qt\test\uritests.h" />
|
||||
<MocTestFiles Include="..\..\src\qt\test\wallettests.h" />
|
||||
</ItemGroup>
|
||||
<Target Name="moccode" Inputs="@(MocTestFiles)" Outputs="@(MocTestFiles->'$(GeneratedFilesOutDir)\moc\moc_%(Filename).cpp')">
|
||||
<PropertyGroup>
|
||||
<ErrorText>There was an error executing the test_bitcoin-qt moc code generation task.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Exec Command="echo Performing test_bitcoin-qt moc generation task, output path $(GeneratedFilesOutDir)\moc." />
|
||||
<MakeDir Directories="$(GeneratedFilesOutDir)\moc\" />
|
||||
<Exec Command="$(QtToolsDir)\moc.exe $(MOC_DEFINES) "%(MocTestFiles.Identity)" -o $(GeneratedFilesOutDir)\moc\moc_%(Filename).cpp" />
|
||||
</Target>
|
||||
<Target Name="QtTestCleanGeneratedFiles">
|
||||
<Exec Command="echo Clean test_bitcoin-qt generated files from $(GeneratedFilesOutDir)." />
|
||||
<RemoveDir Directories="$(GeneratedFilesOutDir)\moc\*" />
|
||||
<RemoveDir Directories="$(GeneratedFilesOutDir)\moc" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<BuildDependsOn>
|
||||
moccode;
|
||||
$(BuildDependsOn);
|
||||
</BuildDependsOn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<CleanDependsOn>
|
||||
QtTestCleanGeneratedFiles;
|
||||
$(CleanDependsOn);
|
||||
</CleanDependsOn>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A56B73DB-D46D-4882-8374-1FE3FFA08F07}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\test\*_tests.cpp" />
|
||||
<ClCompile Include="..\..\src\test\*_properties.cpp" />
|
||||
<ClCompile Include="..\..\src\test\*_tests.cpp" />
|
||||
<ClCompile Include="..\..\src\test\gen\*_gen.cpp" />
|
||||
<ClCompile Include="..\..\src\wallet\test\*_tests.cpp" />
|
||||
<ClCompile Include="..\..\src\test\test_bitcoin.cpp" />
|
||||
<ClCompile Include="..\..\src\test\test_bitcoin_main.cpp" />
|
||||
<ClCompile Include="..\..\src\test\main.cpp" />
|
||||
<ClCompile Include="..\..\src\test\util\*.cpp" />
|
||||
<ClCompile Include="..\..\src\wallet\test\*_fixture.cpp" />
|
||||
<ClCompile Include="..\..\src\wallet\test\*_tests.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
|
||||
|
|
@ -53,6 +42,9 @@
|
|||
<ProjectReference Include="..\libbitcoin_zmq\libbitcoin_zmq.vcxproj">
|
||||
<Project>{792d487f-f14c-49fc-a9de-3fc150f31c3f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libtest_util\libtest_util.vcxproj">
|
||||
<Project>{1e065f03-3566-47d0-8fa9-daa72b084e7d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
|
||||
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
|
||||
</ProjectReference>
|
||||
|
|
@ -63,153 +55,19 @@
|
|||
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{A56B73DB-D46D-4882-8374-1FE3FFA08F07}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>test_bitcoin</RootNamespace>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NOMINMAX;WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\test;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
<AdditionalDependencies>boost_test_exec_monitor-vc140-mt-gd.lib;crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NOMINMAX;WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\test;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>boost_test_exec_monitor-vc140-mt-gd.lib;crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NOMINMAX;WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\test;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>boost_test_exec_monitor-vc140-mt.lib;crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NOMINMAX;WIN32;HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\leveldb\include;..\..\src\test;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>boost_test_exec_monitor-vc140-mt.lib;crypt32.lib;Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Target Name="RawBenchHeaderGen" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>There was an error executing the JSON test header generation task.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<JsonTestFile Include="..\..\src\test\data\*.json" />
|
||||
<RawTestFile Include="..\..\src\test\data\*.raw" />
|
||||
</ItemGroup>
|
||||
<HeaderFromHexdump RawFilePath="%(RawTestFile.FullPath)" HeaderFilePath="%(RawTestFile.FullPath).h" SourceHeader="static unsigned const char %(RawTestFile.Filename)_raw[] = {" SourceFooter="};" />
|
||||
<HeaderFromHexdump RawFilePath="%(JsonTestFile.FullPath)" HeaderFilePath="%(JsonTestFile.FullPath).h" SourceHeader="namespace json_tests{ static unsigned const char %(JsonTestFile.Filename)[] = {" SourceFooter="};}" />
|
||||
</Target>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Label="hexdumpTarget" Project="..\msbuild\tasks\hexdump.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
// Copyright (c) 2018-2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <iostream>
|
||||
|
||||
// bitcoin includes.
|
||||
|
|
|
|||
|
|
@ -1,176 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Label="configInitTarget" Project="..\common.init.vcxproj" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\common.init.vcxproj" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{E78473E9-B850-456C-9120-276301E04C06}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>testconsensus</RootNamespace>
|
||||
<ProjectName>test_libbitcoinconsensus</ProjectName>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<Linkage-secp256k1>static</Linkage-secp256k1>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_SCL_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;_SCL_SECURE_NO_WARNINGS;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\src\;</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="testconsensus.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
|
||||
<Project>{2b384fa8-9ee1-4544-93cb-0d733c25e8ce}</Project>
|
||||
<Project>{2B384FA8-9EE1-4544-93CB-0D733C25E8CE}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
|
||||
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
|
||||
<Project>{B53A5535-EE9D-4C6F-9A26-F79EE3BC3754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
|
||||
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
|
||||
<Project>{BB493552-3B8C-4A8C-BF69-A6E7A51D2EA6}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Label="configTarget" Project="..\common.vcxproj" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<Import Project="..\common.vcxproj" />
|
||||
</Project>
|
||||
|
|
|
|||
20
build_msvc/vcpkg.json
Normal file
20
build_msvc/vcpkg.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "bitcoin-core",
|
||||
"version-string": "1",
|
||||
"dependencies": [
|
||||
"berkeleydb",
|
||||
"boost-filesystem",
|
||||
"boost-multi-index",
|
||||
"boost-process",
|
||||
"boost-signals2",
|
||||
"boost-test",
|
||||
"boost-thread",
|
||||
"sqlite3",
|
||||
"double-conversion",
|
||||
{
|
||||
"name": "libevent",
|
||||
"features": ["thread"]
|
||||
},
|
||||
"zeromq"
|
||||
]
|
||||
}
|
||||
65
ci/README.md
Normal file
65
ci/README.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
## CI Scripts
|
||||
|
||||
This directory contains scripts for each build step in each build stage.
|
||||
|
||||
### Running a Stage Locally
|
||||
|
||||
Be aware that the tests will be built and run in-place, so please run at your own risk.
|
||||
If the repository is not a fresh git clone, you might have to clean files from previous builds or test runs first.
|
||||
|
||||
The ci needs to perform various sysadmin tasks such as installing packages or writing to the user's home directory.
|
||||
While most of the actions are done inside a docker container, this is not possible for all. Thus, cache directories,
|
||||
such as the depends cache, previous release binaries, or ccache, are mounted as read-write into the docker container. While it should be fine to run
|
||||
the ci system locally on you development box, the ci scripts can generally be assumed to have received less review and
|
||||
testing compared to other parts of the codebase. If you want to keep the work tree clean, you might want to run the ci
|
||||
system in a virtual machine with a Linux operating system of your choice.
|
||||
|
||||
To allow for a wide range of tested environments, but also ensure reproducibility to some extent, the test stage
|
||||
requires `docker` to be installed. To install all requirements on Ubuntu, run
|
||||
|
||||
```
|
||||
sudo apt install docker.io bash
|
||||
```
|
||||
|
||||
To run the default test stage,
|
||||
|
||||
```
|
||||
./ci/test_run_all.sh
|
||||
```
|
||||
|
||||
To run the test stage with a specific configuration,
|
||||
|
||||
```
|
||||
FILE_ENV="./ci/test/00_setup_env_arm.sh" ./ci/test_run_all.sh
|
||||
```
|
||||
|
||||
### Configurations
|
||||
|
||||
The test files (`FILE_ENV`) are constructed to test a wide range of
|
||||
configurations, rather than a single pass/fail. This helps to catch build
|
||||
failures and logic errors that present on platforms other than the ones the
|
||||
author has tested.
|
||||
|
||||
Some builders use the dependency-generator in `./depends`, rather than using
|
||||
the system package manager to install build dependencies. This guarantees that
|
||||
the tester is using the same versions as the release builds, which also use
|
||||
`./depends`.
|
||||
|
||||
If no `FILE_ENV` has been specified or values are left out, `00_setup_env.sh`
|
||||
is used as the default configuration with fallback values.
|
||||
|
||||
It is also possible to force a specific configuration without modifying the
|
||||
file. For example,
|
||||
|
||||
```
|
||||
MAKEJOBS="-j1" FILE_ENV="./ci/test/00_setup_env_arm.sh" ./ci/test_run_all.sh
|
||||
```
|
||||
|
||||
The files starting with `0n` (`n` greater than 0) are the scripts that are run
|
||||
in order.
|
||||
|
||||
### Cache
|
||||
|
||||
In order to avoid rebuilding all dependencies for each build, the binaries are
|
||||
cached and re-used when possible. Changes in the dependency-generator will
|
||||
trigger cache-invalidation and rebuilds as necessary.
|
||||
20
ci/lint/04_install.sh
Executable file
20
ci/lint/04_install.sh
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018-2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
travis_retry sudo apt update && sudo apt install -y clang-format-9
|
||||
sudo update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-9 ) 100
|
||||
sudo update-alternatives --install /usr/bin/clang-format-diff clang-format-diff $(which clang-format-diff-9) 100
|
||||
|
||||
travis_retry pip3 install codespell==1.17.1
|
||||
travis_retry pip3 install flake8==3.8.3
|
||||
travis_retry pip3 install yq
|
||||
travis_retry pip3 install mypy==0.781
|
||||
|
||||
SHELLCHECK_VERSION=v0.7.1
|
||||
curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/
|
||||
export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}"
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Copyright (c) 2018-2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
|
|
@ -1,24 +1,29 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Copyright (c) 2018-2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
|
||||
test/lint/commit-script-check.sh $TRAVIS_COMMIT_RANGE
|
||||
# TRAVIS_BRANCH will be present in a Travis environment. For builds triggered
|
||||
# by a pull request this is the name of the branch targeted by the pull request.
|
||||
# https://docs.travis-ci.com/user/environment-variables/
|
||||
COMMIT_RANGE="$TRAVIS_BRANCH..HEAD"
|
||||
test/lint/commit-script-check.sh $COMMIT_RANGE
|
||||
fi
|
||||
|
||||
test/lint/git-subtree-check.sh src/crypto/ctaes
|
||||
test/lint/git-subtree-check.sh src/secp256k1
|
||||
test/lint/git-subtree-check.sh src/univalue
|
||||
test/lint/git-subtree-check.sh src/leveldb
|
||||
test/lint/git-subtree-check.sh src/crc32c
|
||||
test/lint/check-doc.py
|
||||
test/lint/check-rpc-mappings.py .
|
||||
test/lint/lint-all.sh
|
||||
|
||||
if [ "$TRAVIS_REPO_SLUG" = "ElementsProject/elements" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then
|
||||
if [ "$TRAVIS_REPO_SLUG" = "bitcoin/bitcoin" ] && [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then
|
||||
git log --merges --before="2 days ago" -1 --format='%H' > ./contrib/verify-commits/trusted-sha512-root-commit
|
||||
travis_retry gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $(<contrib/verify-commits/trusted-keys) &&
|
||||
./contrib/verify-commits/verify-commits.py --clean-merge=2;
|
||||
123
ci/retry/README.md
Normal file
123
ci/retry/README.md
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
retry - The command line retry tool
|
||||
------------------------------------------
|
||||
|
||||
Retry any shell command with exponential backoff or constant delay.
|
||||
|
||||
### Instructions
|
||||
|
||||
Install:
|
||||
|
||||
retry is a shell script, so drop it somewhere and make sure it's added to your $PATH. Or you can use the following one-liner:
|
||||
|
||||
```sh
|
||||
sudo sh -c "curl https://raw.githubusercontent.com/kadwanev/retry/master/retry -o /usr/local/bin/retry && chmod +x /usr/local/bin/retry"
|
||||
```
|
||||
|
||||
If you're on OS X, retry is also on Homebrew:
|
||||
|
||||
```
|
||||
brew pull 27283
|
||||
brew install retry
|
||||
```
|
||||
Not popular enough for homebrew-core. Please star this project to help.
|
||||
|
||||
### Usage
|
||||
|
||||
Help:
|
||||
|
||||
`retry -?`
|
||||
|
||||
Usage: retry [options] -- execute command
|
||||
-h, -?, --help
|
||||
-v, --verbose Verbose output
|
||||
-t, --tries=# Set max retries: Default 10
|
||||
-s, --sleep=secs Constant sleep amount (seconds)
|
||||
-m, --min=secs Exponential Backoff: minimum sleep amount (seconds): Default 0.3
|
||||
-x, --max=secs Exponential Backoff: maximum sleep amount (seconds): Default 60
|
||||
-f, --fail="script +cmds" Fail Script: run in case of final failure
|
||||
|
||||
### Examples
|
||||
|
||||
No problem:
|
||||
|
||||
`retry echo u work good`
|
||||
|
||||
u work good
|
||||
|
||||
Test functionality:
|
||||
|
||||
`retry 'echo "y u no work"; false'`
|
||||
|
||||
y u no work
|
||||
Before retry #1: sleeping 0.3 seconds
|
||||
y u no work
|
||||
Before retry #2: sleeping 0.6 seconds
|
||||
y u no work
|
||||
Before retry #3: sleeping 1.2 seconds
|
||||
y u no work
|
||||
Before retry #4: sleeping 2.4 seconds
|
||||
y u no work
|
||||
Before retry #5: sleeping 4.8 seconds
|
||||
y u no work
|
||||
Before retry #6: sleeping 9.6 seconds
|
||||
y u no work
|
||||
Before retry #7: sleeping 19.2 seconds
|
||||
y u no work
|
||||
Before retry #8: sleeping 38.4 seconds
|
||||
y u no work
|
||||
Before retry #9: sleeping 60.0 seconds
|
||||
y u no work
|
||||
Before retry #10: sleeping 60.0 seconds
|
||||
y u no work
|
||||
etc..
|
||||
|
||||
Limit retries:
|
||||
|
||||
`retry -t 4 'echo "y u no work"; false'`
|
||||
|
||||
y u no work
|
||||
Before retry #1: sleeping 0.3 seconds
|
||||
y u no work
|
||||
Before retry #2: sleeping 0.6 seconds
|
||||
y u no work
|
||||
Before retry #3: sleeping 1.2 seconds
|
||||
y u no work
|
||||
Before retry #4: sleeping 2.4 seconds
|
||||
y u no work
|
||||
Retries exhausted
|
||||
|
||||
Bad command:
|
||||
|
||||
`retry poop`
|
||||
|
||||
bash: poop: command not found
|
||||
|
||||
Fail command:
|
||||
|
||||
`retry -t 3 -f 'echo "oh poopsickles"' 'echo "y u no work"; false'`
|
||||
|
||||
y u no work
|
||||
Before retry #1: sleeping 0.3 seconds
|
||||
y u no work
|
||||
Before retry #2: sleeping 0.6 seconds
|
||||
y u no work
|
||||
Before retry #3: sleeping 1.2 seconds
|
||||
y u no work
|
||||
Retries exhausted, running fail script
|
||||
oh poopsickles
|
||||
|
||||
Last attempt passed:
|
||||
|
||||
`retry -t 3 -- 'if [ $RETRY_ATTEMPT -eq 3 ]; then echo Passed at attempt $RETRY_ATTEMPT; true; else echo Failed at attempt $RETRY_ATTEMPT; false; fi;'`
|
||||
|
||||
Failed at attempt 0
|
||||
Before retry #1: sleeping 0.3 seconds
|
||||
Failed at attempt 1
|
||||
Before retry #2: sleeping 0.6 seconds
|
||||
Failed at attempt 2
|
||||
Before retry #3: sleeping 1.2 seconds
|
||||
Passed at attempt 3
|
||||
|
||||
### License
|
||||
|
||||
Apache 2.0 - go nuts
|
||||
163
ci/retry/retry
Executable file
163
ci/retry/retry
Executable file
|
|
@ -0,0 +1,163 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
GETOPT_BIN=$IN_GETOPT_BIN
|
||||
GETOPT_BIN=${GETOPT_BIN:-getopt}
|
||||
|
||||
__sleep_amount() {
|
||||
if [ -n "$constant_sleep" ]; then
|
||||
sleep_time=$constant_sleep
|
||||
else
|
||||
#TODO: check for awk
|
||||
#TODO: check if user would rather use one of the other possible dependencies: python, ruby, bc, dc
|
||||
sleep_time=`awk "BEGIN {t = $min_sleep * $(( (1<<($attempts -1)) )); print (t > $max_sleep ? $max_sleep : t)}"`
|
||||
fi
|
||||
}
|
||||
|
||||
__log_out() {
|
||||
echo "$1" 1>&2
|
||||
}
|
||||
|
||||
# Parameters: max_tries min_sleep max_sleep constant_sleep fail_script EXECUTION_COMMAND
|
||||
retry()
|
||||
{
|
||||
local max_tries="$1"; shift
|
||||
local min_sleep="$1"; shift
|
||||
local max_sleep="$1"; shift
|
||||
local constant_sleep="$1"; shift
|
||||
local fail_script="$1"; shift
|
||||
if [ -n "$VERBOSE" ]; then
|
||||
__log_out "Retry Parameters: max_tries=$max_tries min_sleep=$min_sleep max_sleep=$max_sleep constant_sleep=$constant_sleep"
|
||||
if [ -n "$fail_script" ]; then __log_out "Fail script: $fail_script"; fi
|
||||
__log_out ""
|
||||
__log_out "Execution Command: $*"
|
||||
__log_out ""
|
||||
fi
|
||||
|
||||
local attempts=0
|
||||
local return_code=1
|
||||
|
||||
|
||||
while [[ $return_code -ne 0 && $attempts -le $max_tries ]]; do
|
||||
if [ $attempts -gt 0 ]; then
|
||||
__sleep_amount
|
||||
__log_out "Before retry #$attempts: sleeping $sleep_time seconds"
|
||||
sleep $sleep_time
|
||||
fi
|
||||
|
||||
P="$1"
|
||||
for param in "${@:2}"; do P="$P '$param'"; done
|
||||
#TODO: replace single quotes in each arg with '"'"' ?
|
||||
export RETRY_ATTEMPT=$attempts
|
||||
bash -c "$P"
|
||||
return_code=$?
|
||||
#__log_out "Process returned $return_code on attempt $attempts"
|
||||
if [ $return_code -eq 127 ]; then
|
||||
# command not found
|
||||
exit $return_code
|
||||
elif [ $return_code -ne 0 ]; then
|
||||
attempts=$[$attempts +1]
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $attempts -gt $max_tries ]; then
|
||||
if [ -n "$fail_script" ]; then
|
||||
__log_out "Retries exhausted, running fail script"
|
||||
eval $fail_script
|
||||
else
|
||||
__log_out "Retries exhausted"
|
||||
fi
|
||||
fi
|
||||
|
||||
exit $return_code
|
||||
}
|
||||
|
||||
# If we're being sourced, don't worry about such things
|
||||
if [ "$BASH_SOURCE" == "$0" ]; then
|
||||
# Prints the help text
|
||||
help()
|
||||
{
|
||||
local retry=$(basename $0)
|
||||
cat <<EOF
|
||||
Usage: $retry [options] -- execute command
|
||||
-h, -?, --help
|
||||
-v, --verbose Verbose output
|
||||
-t, --tries=# Set max retries: Default 10
|
||||
-s, --sleep=secs Constant sleep amount (seconds)
|
||||
-m, --min=secs Exponential Backoff: minimum sleep amount (seconds): Default 0.3
|
||||
-x, --max=secs Exponential Backoff: maximum sleep amount (seconds): Default 60
|
||||
-f, --fail="script +cmds" Fail Script: run in case of final failure
|
||||
EOF
|
||||
}
|
||||
|
||||
# show help for no arguments if stdin is a terminal
|
||||
if { [ -z "$1" ] && [ -t 0 ] ; } || [ "$1" == '-h' ] || [ "$1" == '-?' ] || [ "$1" == '--help' ]
|
||||
then
|
||||
help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
$GETOPT_BIN --test > /dev/null
|
||||
if [[ $? -ne 4 ]]; then
|
||||
echo "I’m sorry, 'getopt --test' failed in this environment. Please load GNU getopt."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OPTIONS=vt:s:m:x:f:
|
||||
LONGOPTIONS=verbose,tries:,sleep:,min:,max:,fail:
|
||||
|
||||
PARSED=$($GETOPT_BIN --options="$OPTIONS" --longoptions="$LONGOPTIONS" --name "$0" -- "$@")
|
||||
if [[ $? -ne 0 ]]; then
|
||||
# e.g. $? == 1
|
||||
# then getopt has complained about wrong arguments to stdout
|
||||
exit 2
|
||||
fi
|
||||
# read getopt’s output this way to handle the quoting right:
|
||||
eval set -- "$PARSED"
|
||||
|
||||
max_tries=10
|
||||
min_sleep=0.3
|
||||
max_sleep=60.0
|
||||
constant_sleep=
|
||||
fail_script=
|
||||
|
||||
# now enjoy the options in order and nicely split until we see --
|
||||
while true; do
|
||||
case "$1" in
|
||||
-v|--verbose)
|
||||
VERBOSE=true
|
||||
shift
|
||||
;;
|
||||
-t|--tries)
|
||||
max_tries="$2"
|
||||
shift 2
|
||||
;;
|
||||
-s|--sleep)
|
||||
constant_sleep="$2"
|
||||
shift 2
|
||||
;;
|
||||
-m|--min)
|
||||
min_sleep="$2"
|
||||
shift 2
|
||||
;;
|
||||
-x|--max)
|
||||
max_sleep="$2"
|
||||
shift 2
|
||||
;;
|
||||
-f|--fail)
|
||||
fail_script="$2"
|
||||
shift 2
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Programming error"
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
retry "$max_tries" "$min_sleep" "$max_sleep" "$constant_sleep" "$fail_script" "$@"
|
||||
|
||||
fi
|
||||
72
ci/test/00_setup_env.sh
Executable file
72
ci/test/00_setup_env.sh
Executable file
|
|
@ -0,0 +1,72 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
# The root dir.
|
||||
# The ci system copies this folder.
|
||||
# This is where the depends build is done.
|
||||
BASE_ROOT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../../ >/dev/null 2>&1 && pwd )
|
||||
export BASE_ROOT_DIR
|
||||
|
||||
echo "Setting specific values in env"
|
||||
if [ -n "${FILE_ENV}" ]; then
|
||||
set -o errexit;
|
||||
# shellcheck disable=SC1090
|
||||
source "${FILE_ENV}"
|
||||
fi
|
||||
|
||||
echo "Fallback to default values in env (if not yet set)"
|
||||
# The number of parallel jobs to pass down to make and test_runner.py
|
||||
export MAKEJOBS=${MAKEJOBS:--j4}
|
||||
# A folder for the ci system to put temporary files (ccache, datadirs for tests, ...)
|
||||
# This folder only exists on the ci host.
|
||||
export BASE_SCRATCH_DIR=${BASE_SCRATCH_DIR:-$BASE_ROOT_DIR/ci/scratch}
|
||||
# What host to compile for. See also ./depends/README.md
|
||||
# Tests that need cross-compilation export the appropriate HOST.
|
||||
# Tests that run natively guess the host
|
||||
export HOST=${HOST:-$("$BASE_ROOT_DIR/depends/config.guess")}
|
||||
# Whether to prefer BusyBox over GNU utilities
|
||||
export USE_BUSY_BOX=${USE_BUSY_BOX:-false}
|
||||
|
||||
export RUN_UNIT_TESTS=${RUN_UNIT_TESTS:-true}
|
||||
export RUN_FUNCTIONAL_TESTS=${RUN_FUNCTIONAL_TESTS:-true}
|
||||
export RUN_SECURITY_TESTS=${RUN_SECURITY_TESTS:-false}
|
||||
# By how much to scale the test_runner timeouts (option --timeout-factor).
|
||||
# This is needed because some ci machines have slow CPU or disk, so sanitizers
|
||||
# might be slow or a reindex might be waiting on disk IO.
|
||||
export TEST_RUNNER_TIMEOUT_FACTOR=${TEST_RUNNER_TIMEOUT_FACTOR:-40}
|
||||
export TEST_RUNNER_ENV=${TEST_RUNNER_ENV:-}
|
||||
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}
|
||||
# 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}
|
||||
# See man 7 debconf
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
export CCACHE_SIZE=${CCACHE_SIZE:-100M}
|
||||
export CCACHE_TEMPDIR=${CCACHE_TEMPDIR:-/tmp/.ccache-temp}
|
||||
export CCACHE_COMPRESS=${CCACHE_COMPRESS:-1}
|
||||
# The cache dir.
|
||||
# This folder exists on the ci host and ci guest. Changes are propagated back and forth.
|
||||
export CCACHE_DIR=${CCACHE_DIR:-$BASE_SCRATCH_DIR/.ccache}
|
||||
# The depends dir.
|
||||
# This folder exists on the ci host and ci guest. Changes are propagated back and forth.
|
||||
export DEPENDS_DIR=${DEPENDS_DIR:-$BASE_ROOT_DIR/depends}
|
||||
# Folder where the build result is put (bin and lib).
|
||||
export BASE_OUTDIR=${BASE_OUTDIR:-$BASE_SCRATCH_DIR/out/$HOST}
|
||||
# Folder where the build is done (dist and out-of-tree build).
|
||||
export BASE_BUILD_DIR=${BASE_BUILD_DIR:-$BASE_SCRATCH_DIR/build}
|
||||
export PREVIOUS_RELEASES_DIR=${PREVIOUS_RELEASES_DIR:-$BASE_ROOT_DIR/releases/$HOST}
|
||||
export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
|
||||
export DOCKER_PACKAGES=${DOCKER_PACKAGES:-build-essential libtool autotools-dev automake pkg-config bsdmainutils curl ca-certificates ccache python3 rsync git procps}
|
||||
export GOAL=${GOAL:-install}
|
||||
export DIR_QA_ASSETS=${DIR_QA_ASSETS:-${BASE_SCRATCH_DIR}/qa-assets}
|
||||
export PATH=${BASE_ROOT_DIR}/ci/retry:$PATH
|
||||
export CI_RETRY_EXE=${CI_RETRY_EXE:-"retry --"}
|
||||
28
ci/test/00_setup_env_arm.sh
Normal file
28
ci/test/00_setup_env_arm.sh
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export HOST=arm-linux-gnueabihf
|
||||
# The host arch is unknown, so we run the tests through qemu.
|
||||
# If the host is arm and wants to run the tests natively, it can set QEMU_USER_CMD to the empty string.
|
||||
if [ -z ${QEMU_USER_CMD+x} ]; then export QEMU_USER_CMD="${QEMU_USER_CMD:-"qemu-arm -L /usr/arm-linux-gnueabihf/"}"; fi
|
||||
export DPKG_ADD_ARCH="armhf"
|
||||
export PACKAGES="python3-zmq g++-arm-linux-gnueabihf busybox libc6:armhf libstdc++6:armhf libfontconfig1:armhf libxcb1:armhf"
|
||||
if [ -n "$QEMU_USER_CMD" ]; then
|
||||
# Likely cross-compiling, so install the needed gcc and qemu-user
|
||||
export PACKAGES="$PACKAGES qemu-user"
|
||||
fi
|
||||
export CONTAINER_NAME=ci_arm_linux
|
||||
# Use debian to avoid 404 apt errors when cross compiling
|
||||
export DOCKER_NAME_TAG="debian:buster"
|
||||
export USE_BUSY_BOX=true
|
||||
export RUN_UNIT_TESTS=true
|
||||
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-werror --with-boost-process"
|
||||
15
ci/test/00_setup_env_i686_centos.sh
Normal file
15
ci/test/00_setup_env_i686_centos.sh
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export HOST=i686-pc-linux-gnu
|
||||
export CONTAINER_NAME=ci_i686_centos_7
|
||||
export DOCKER_NAME_TAG=centos:7
|
||||
export DOCKER_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python3 python36-zmq which patch lbzip2 dash"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports --with-boost-process"
|
||||
export CONFIG_SHELL="/bin/dash"
|
||||
18
ci/test/00_setup_env_mac.sh
Normal file
18
ci/test/00_setup_env_mac.sh
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_macos_cross
|
||||
export DOCKER_NAME_TAG=ubuntu:18.04 # Check that bionic can cross-compile to macos (bionic is used in the gitian build as well)
|
||||
export HOST=x86_64-apple-darwin16
|
||||
export PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools"
|
||||
export XCODE_VERSION=11.3.1
|
||||
export XCODE_BUILD_ID=11C505
|
||||
export RUN_UNIT_TESTS=false
|
||||
export RUN_FUNCTIONAL_TESTS=false
|
||||
export GOAL="deploy"
|
||||
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --enable-werror --with-boost-process"
|
||||
19
ci/test/00_setup_env_mac_host.sh
Normal file
19
ci/test/00_setup_env_mac_host.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export HOST=x86_64-apple-darwin16
|
||||
export PIP_PACKAGES="zmq"
|
||||
export GOAL="install"
|
||||
# ELEMENTS: add -fno-stack-check to work around clang bug on macos
|
||||
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --enable-werror --with-boost-process CXXFLAGS=-fno-stack-check"
|
||||
export CI_OS_NAME="macos"
|
||||
export NO_DEPENDS=1
|
||||
export OSX_SDK=""
|
||||
export CCACHE_SIZE=300M
|
||||
|
||||
export RUN_SECURITY_TESTS="true"
|
||||
14
ci/test/00_setup_env_native_asan.sh
Normal file
14
ci/test/00_setup_env_native_asan.sh
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_native_asan
|
||||
export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libsqlite3-dev"
|
||||
export DOCKER_NAME_TAG=ubuntu:20.04
|
||||
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++ --with-boost-process"
|
||||
18
ci/test/00_setup_env_native_fuzz.sh
Normal file
18
ci/test/00_setup_env_native_fuzz.sh
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export DOCKER_NAME_TAG="ubuntu:20.04"
|
||||
export CONTAINER_NAME=ci_native_fuzz
|
||||
export PACKAGES="clang llvm python3 libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev"
|
||||
export NO_DEPENDS=1
|
||||
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 CC=clang CXX=clang++ --with-boost-process"
|
||||
export CCACHE_SIZE=200M
|
||||
19
ci/test/00_setup_env_native_fuzz_with_valgrind.sh
Normal file
19
ci/test/00_setup_env_native_fuzz_with_valgrind.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export DOCKER_NAME_TAG="ubuntu:20.04"
|
||||
export CONTAINER_NAME=ci_native_fuzz_valgrind
|
||||
export PACKAGES="clang llvm python3 libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev valgrind"
|
||||
export NO_DEPENDS=1
|
||||
export RUN_UNIT_TESTS=false
|
||||
export RUN_FUNCTIONAL_TESTS=false
|
||||
export RUN_FUZZ_TESTS=true
|
||||
export FUZZ_TESTS_CONFIG="--valgrind"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer CC=clang CXX=clang++"
|
||||
export CCACHE_SIZE=200M
|
||||
23
ci/test/00_setup_env_native_msan.sh
Normal file
23
ci/test/00_setup_env_native_msan.sh
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export DOCKER_NAME_TAG="ubuntu:20.04"
|
||||
LIBCXX_DIR="${BASE_ROOT_DIR}/ci/scratch/msan/build/"
|
||||
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
|
||||
LIBCXX_FLAGS="-nostdinc++ -stdlib=libc++ -L${LIBCXX_DIR}lib -lc++abi -I${LIBCXX_DIR}include -I${LIBCXX_DIR}include/c++/v1 -lpthread -Wl,-rpath,${LIBCXX_DIR}lib -Wno-unused-command-line-argument"
|
||||
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
|
||||
export BDB_PREFIX="${BASE_ROOT_DIR}/db4"
|
||||
|
||||
export CONTAINER_NAME="ci_native_msan"
|
||||
export PACKAGES="clang-9 llvm-9 cmake"
|
||||
export DEP_OPTS="NO_BDB=1 NO_QT=1 CC='clang' CXX='clang++' CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' boost_cxxflags='-std=c++11 -fvisibility=hidden -fPIC ${MSAN_AND_LIBCXX_FLAGS}' zeromq_cxxflags='-std=c++11 ${MSAN_AND_LIBCXX_FLAGS}'"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-wallet --with-sanitizers=memory --with-asm=no --prefix=${BASE_ROOT_DIR}/depends/x86_64-pc-linux-gnu/ CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' BDB_LIBS='-L${BDB_PREFIX}/lib -ldb_cxx-4.8' BDB_CFLAGS='-I${BDB_PREFIX}/include'"
|
||||
export USE_MEMORY_SANITIZER="true"
|
||||
export RUN_FUNCTIONAL_TESTS="false"
|
||||
export CCACHE_SIZE=250M
|
||||
15
ci/test/00_setup_env_native_multiprocess.sh
Normal file
15
ci/test/00_setup_env_native_multiprocess.sh
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_native_multiprocess
|
||||
export DOCKER_NAME_TAG=ubuntu:20.04
|
||||
export PACKAGES="cmake python3"
|
||||
export DEP_OPTS="MULTIPROCESS=1"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--with-boost-process"
|
||||
export TEST_RUNNER_ENV="BITCOIND=elements-node"
|
||||
14
ci/test/00_setup_env_native_nowallet.sh
Normal file
14
ci/test/00_setup_env_native_nowallet.sh
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_native_nowallet
|
||||
export DOCKER_NAME_TAG=ubuntu:16.04 # Use xenial to have one config run the tests in python3.5, see doc/dependencies.md
|
||||
export PACKAGES="python3-zmq clang-3.8 llvm-3.8" # Use clang-3.8 to test C++11 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-3.8 CXX=clang++-3.8 --with-boost-process"
|
||||
19
ci/test/00_setup_env_native_qt5.sh
Normal file
19
ci/test/00_setup_env_native_qt5.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_native_qt5
|
||||
export DOCKER_NAME_TAG=ubuntu:18.04 # Check that bionic can compile our c++17 and run our functional tests in python3
|
||||
export PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libdbus-1-dev libharfbuzz-dev"
|
||||
export DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
|
||||
export TEST_RUNNER_EXTRA="--previous-releases --coverage --extended --exclude feature_dbcrash" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
|
||||
export RUN_SECURITY_TESTS="true"
|
||||
export RUN_UNIT_TESTS_SEQUENTIAL="true"
|
||||
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-c++17 --enable-debug CFLAGS=\"-g0 -O2 -funsigned-char\" CXXFLAGS=\"-g0 -O2 -funsigned-char\" --with-boost-process"
|
||||
15
ci/test/00_setup_env_native_tsan.sh
Normal file
15
ci/test/00_setup_env_native_tsan.sh
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_native_tsan
|
||||
export DOCKER_NAME_TAG=ubuntu:20.04
|
||||
export PACKAGES="clang llvm libc++abi-dev libc++-dev python3-zmq"
|
||||
export DEP_OPTS="CC=clang CXX='clang++ -stdlib=libc++'"
|
||||
export TEST_RUNNER_EXTRA="--exclude feature_block" # Low memory on Travis machines, exclude feature_block.
|
||||
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++' --with-boost-process"
|
||||
15
ci/test/00_setup_env_native_valgrind.sh
Normal file
15
ci/test/00_setup_env_native_valgrind.sh
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_native_valgrind
|
||||
export PACKAGES="valgrind clang llvm python3-zmq libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libsqlite3-dev"
|
||||
export USE_VALGRIND=1
|
||||
export NO_DEPENDS=1
|
||||
export TEST_RUNNER_EXTRA="--exclude rpc_bind" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=no CC=clang CXX=clang++" # TODO enable GUI
|
||||
26
ci/test/00_setup_env_s390x.sh
Normal file
26
ci/test/00_setup_env_s390x.sh
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export HOST=s390x-linux-gnu
|
||||
# The host arch is unknown, so we run the tests through qemu.
|
||||
# If the host is s390x and wants to run the tests natively, it can set QEMU_USER_CMD to the empty string.
|
||||
if [ -z ${QEMU_USER_CMD+x} ]; then export QEMU_USER_CMD="${QEMU_USER_CMD:-"qemu-s390x"}"; fi
|
||||
export PACKAGES="python3-zmq"
|
||||
if [ -n "$QEMU_USER_CMD" ]; then
|
||||
# Likely cross-compiling, so install the needed gcc and qemu-user
|
||||
export DPKG_ADD_ARCH="s390x"
|
||||
export PACKAGES="$PACKAGES g++-s390x-linux-gnu qemu-user libc6:s390x libstdc++6:s390x libfontconfig1:s390x libxcb1:s390x"
|
||||
fi
|
||||
# Use debian to avoid 404 apt errors
|
||||
export CONTAINER_NAME=ci_s390x
|
||||
export DOCKER_NAME_TAG="debian:buster"
|
||||
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 --with-boost-process"
|
||||
16
ci/test/00_setup_env_win64.sh
Normal file
16
ci/test/00_setup_env_win64.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export CONTAINER_NAME=ci_win64
|
||||
export DOCKER_NAME_TAG=ubuntu:18.04 # Check that bionic can cross-compile to win64 (bionic is used in the gitian build as well)
|
||||
export HOST=x86_64-w64-mingw32
|
||||
export PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64 file"
|
||||
export RUN_FUNCTIONAL_TESTS=false
|
||||
export RUN_SECURITY_TESTS="true"
|
||||
export GOAL="deploy"
|
||||
export BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests --without-boost-process"
|
||||
|
|
@ -1,16 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Copyright (c) 2018-2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
|
||||
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
|
||||
PATH=$PATH:/usr/lib/llvm-6.0/bin/
|
||||
export PATH
|
||||
|
||||
BEGIN_FOLD () {
|
||||
echo ""
|
||||
CURRENT_FOLD_NAME=$1
|
||||
113
ci/test/04_install.sh
Executable file
113
ci/test/04_install.sh
Executable file
|
|
@ -0,0 +1,113 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
if [[ $DOCKER_NAME_TAG == centos* ]]; then
|
||||
export LC_ALL=en_US.utf8
|
||||
fi
|
||||
if [[ $QEMU_USER_CMD == qemu-s390* ]]; then
|
||||
export LC_ALL=C
|
||||
fi
|
||||
|
||||
if [ "$CI_OS_NAME" == "macos" ]; then
|
||||
IN_GETOPT_BIN="/usr/local/opt/gnu-getopt/bin/getopt" ${CI_RETRY_EXE} pip3 install --user $PIP_PACKAGES
|
||||
fi
|
||||
|
||||
# Create folders that are mounted into the docker
|
||||
mkdir -p "${CCACHE_DIR}"
|
||||
mkdir -p "${PREVIOUS_RELEASES_DIR}"
|
||||
|
||||
export ASAN_OPTIONS="detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1"
|
||||
export LSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/lsan"
|
||||
export TSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/tsan:halt_on_error=1:log_path=${BASE_SCRATCH_DIR}/sanitizer-output/tsan"
|
||||
export UBSAN_OPTIONS="suppressions=${BASE_ROOT_DIR}/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
|
||||
env | grep -E '^(BITCOIN_CONFIG|BASE_|QEMU_|CCACHE_|LC_ALL|BOOST_TEST_RANDOM|DEBIAN_FRONTEND|CONFIG_SHELL|(ASAN|LSAN|TSAN|UBSAN)_OPTIONS|PREVIOUS_RELEASES_DIR)' | tee /tmp/env
|
||||
if [[ $BITCOIN_CONFIG = *--with-sanitizers=*address* ]]; then # If ran with (ASan + LSan), Docker needs access to ptrace (https://github.com/google/sanitizers/issues/764)
|
||||
DOCKER_ADMIN="--cap-add SYS_PTRACE"
|
||||
fi
|
||||
|
||||
export P_CI_DIR="$PWD"
|
||||
|
||||
if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
|
||||
echo "Creating $DOCKER_NAME_TAG container to run in"
|
||||
${CI_RETRY_EXE} docker pull "$DOCKER_NAME_TAG"
|
||||
|
||||
DOCKER_ID=$(docker run $DOCKER_ADMIN -idt \
|
||||
--mount type=bind,src=$BASE_ROOT_DIR,dst=/ro_base,readonly \
|
||||
--mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR \
|
||||
--mount type=bind,src=$DEPENDS_DIR,dst=$DEPENDS_DIR \
|
||||
--mount type=bind,src=$PREVIOUS_RELEASES_DIR,dst=$PREVIOUS_RELEASES_DIR \
|
||||
-w $BASE_ROOT_DIR \
|
||||
--env-file /tmp/env \
|
||||
--name $CONTAINER_NAME \
|
||||
$DOCKER_NAME_TAG)
|
||||
export DOCKER_CI_CMD_PREFIX="docker exec $DOCKER_ID"
|
||||
else
|
||||
echo "Running on host system without docker wrapper"
|
||||
fi
|
||||
|
||||
DOCKER_EXEC () {
|
||||
$DOCKER_CI_CMD_PREFIX bash -c "export PATH=$BASE_SCRATCH_DIR/bins/:\$PATH && cd $P_CI_DIR && $*"
|
||||
}
|
||||
export -f DOCKER_EXEC
|
||||
|
||||
if [ -n "$DPKG_ADD_ARCH" ]; then
|
||||
DOCKER_EXEC dpkg --add-architecture "$DPKG_ADD_ARCH"
|
||||
fi
|
||||
|
||||
if [[ $DOCKER_NAME_TAG == centos* ]]; then
|
||||
${CI_RETRY_EXE} DOCKER_EXEC yum -y install epel-release
|
||||
${CI_RETRY_EXE} DOCKER_EXEC yum -y install $DOCKER_PACKAGES $PACKAGES
|
||||
elif [ "$CI_USE_APT_INSTALL" != "no" ]; then
|
||||
${CI_RETRY_EXE} DOCKER_EXEC apt-get update
|
||||
${CI_RETRY_EXE} DOCKER_EXEC apt-get install --no-install-recommends --no-upgrade -y $PACKAGES $DOCKER_PACKAGES
|
||||
fi
|
||||
|
||||
if [ "$CI_OS_NAME" == "macos" ]; then
|
||||
top -l 1 -s 0 | awk ' /PhysMem/ {print}'
|
||||
echo "Number of CPUs: $(sysctl -n hw.logicalcpu)"
|
||||
else
|
||||
DOCKER_EXEC free -m -h
|
||||
DOCKER_EXEC echo "Number of CPUs \(nproc\):" \$\(nproc\)
|
||||
DOCKER_EXEC echo $(lscpu | grep Endian)
|
||||
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}
|
||||
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/"
|
||||
|
||||
if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
|
||||
DOCKER_EXEC "update-alternatives --install /usr/bin/clang++ clang++ \$(which clang++-9) 100"
|
||||
DOCKER_EXEC "update-alternatives --install /usr/bin/clang clang \$(which clang-9) 100"
|
||||
DOCKER_EXEC "mkdir -p ${BASE_SCRATCH_DIR}/msan/build/"
|
||||
DOCKER_EXEC "git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-10.0.0 ${BASE_SCRATCH_DIR}/msan/llvm-project"
|
||||
DOCKER_EXEC "cd ${BASE_SCRATCH_DIR}/msan/build/ && cmake -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi' -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_SANITIZER=Memory -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_TARGETS_TO_BUILD=X86 ../llvm-project/llvm/"
|
||||
DOCKER_EXEC "cd ${BASE_SCRATCH_DIR}/msan/build/ && make $MAKEJOBS cxx"
|
||||
fi
|
||||
|
||||
if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
|
||||
echo "Create $BASE_ROOT_DIR"
|
||||
DOCKER_EXEC rsync -a /ro_base/ $BASE_ROOT_DIR
|
||||
fi
|
||||
|
||||
if [ "$USE_BUSY_BOX" = "true" ]; then
|
||||
echo "Setup to use BusyBox utils"
|
||||
DOCKER_EXEC mkdir -p $BASE_SCRATCH_DIR/bins/
|
||||
# tar excluded for now because it requires passing in the exact archive type in ./depends (fixed in later BusyBox version)
|
||||
# find excluded for now because it does not recognize the -delete option in ./depends (fixed in later BusyBox version)
|
||||
# ar excluded for now because it does not recognize the -q option in ./depends (unknown if fixed)
|
||||
# shellcheck disable=SC1010
|
||||
DOCKER_EXEC for util in \$\(busybox --list \| grep -v "^ar$" \| grep -v "^tar$" \| grep -v "^find$"\)\; do ln -s \$\(command -v busybox\) $BASE_SCRATCH_DIR/bins/\$util\; done
|
||||
# Print BusyBox version
|
||||
DOCKER_EXEC patch --help
|
||||
fi
|
||||
53
ci/test/05_before_script.sh
Executable file
53
ci/test/05_before_script.sh
Executable file
|
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
# Make sure default datadir does not exist and is never read by creating a dummy file
|
||||
if [ "$CI_OS_NAME" == "macos" ]; then
|
||||
echo > $HOME/Library/Application\ Support/Bitcoin
|
||||
else
|
||||
DOCKER_EXEC echo \> \$HOME/.bitcoin
|
||||
fi
|
||||
|
||||
DOCKER_EXEC mkdir -p ${DEPENDS_DIR}/SDKs ${DEPENDS_DIR}/sdk-sources
|
||||
|
||||
OSX_SDK_BASENAME="Xcode-${XCODE_VERSION}-${XCODE_BUILD_ID}-extracted-SDK-with-libcxx-headers.tar.gz"
|
||||
OSX_SDK_PATH="${DEPENDS_DIR}/sdk-sources/${OSX_SDK_BASENAME}"
|
||||
|
||||
if [ -n "$XCODE_VERSION" ] && [ ! -f "$OSX_SDK_PATH" ]; then
|
||||
curl --location --fail "${SDK_URL}/${OSX_SDK_BASENAME}" -o "$OSX_SDK_PATH"
|
||||
fi
|
||||
|
||||
if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
|
||||
# Use BDB compiled using install_db4.sh script to work around linking issue when using BDB
|
||||
# from depends. See https://github.com/bitcoin/bitcoin/pull/18288#discussion_r433189350 for
|
||||
# details.
|
||||
DOCKER_EXEC "contrib/install_db4.sh \$(pwd) --enable-umrw CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
|
||||
fi
|
||||
|
||||
if [ -n "$XCODE_VERSION" ] && [ -f "$OSX_SDK_PATH" ]; then
|
||||
DOCKER_EXEC tar -C "${DEPENDS_DIR}/SDKs" -xf "$OSX_SDK_PATH"
|
||||
fi
|
||||
if [[ $HOST = *-mingw32 ]]; then
|
||||
DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\)
|
||||
fi
|
||||
if [ -z "$NO_DEPENDS" ]; then
|
||||
if [[ $DOCKER_NAME_TAG == centos* ]]; then
|
||||
# CentOS has problems building the depends if the config shell is not explicitly set
|
||||
# (i.e. for libevent a Makefile with an empty SHELL variable is generated, leading to
|
||||
# an error as the first command is executed)
|
||||
SHELL_OPTS="CONFIG_SHELL=/bin/bash"
|
||||
else
|
||||
SHELL_OPTS="CONFIG_SHELL="
|
||||
fi
|
||||
DOCKER_EXEC $SHELL_OPTS make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
|
||||
fi
|
||||
if [ -n "$PREVIOUS_RELEASES_TO_DOWNLOAD" ]; then
|
||||
BEGIN_FOLD previous-versions
|
||||
DOCKER_EXEC test/get_previous_releases.py -b -t "$PREVIOUS_RELEASES_DIR" "${PREVIOUS_RELEASES_TO_DOWNLOAD}"
|
||||
END_FOLD
|
||||
fi
|
||||
56
ci/test/06_script_a.sh
Executable file
56
ci/test/06_script_a.sh
Executable file
|
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$DEPENDS_DIR/$HOST --bindir=$BASE_OUTDIR/bin --libdir=$BASE_OUTDIR/lib"
|
||||
DOCKER_EXEC "ccache --zero-stats --max-size=$CCACHE_SIZE"
|
||||
|
||||
BEGIN_FOLD autogen
|
||||
if [ -n "$CONFIG_SHELL" ]; then
|
||||
DOCKER_EXEC "$CONFIG_SHELL" -c "./autogen.sh"
|
||||
else
|
||||
DOCKER_EXEC ./autogen.sh
|
||||
fi
|
||||
END_FOLD
|
||||
|
||||
DOCKER_EXEC mkdir -p "${BASE_BUILD_DIR}"
|
||||
export P_CI_DIR="${BASE_BUILD_DIR}"
|
||||
|
||||
BEGIN_FOLD configure
|
||||
DOCKER_EXEC "${BASE_ROOT_DIR}/configure" --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( (DOCKER_EXEC cat config.log) && false)
|
||||
END_FOLD
|
||||
|
||||
BEGIN_FOLD distdir
|
||||
DOCKER_EXEC make distdir VERSION=$HOST
|
||||
END_FOLD
|
||||
|
||||
export P_CI_DIR="${BASE_BUILD_DIR}/elements-$HOST"
|
||||
|
||||
BEGIN_FOLD configure
|
||||
DOCKER_EXEC ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( (DOCKER_EXEC cat config.log) && false)
|
||||
END_FOLD
|
||||
|
||||
set -o errtrace
|
||||
trap 'DOCKER_EXEC "cat ${BASE_SCRATCH_DIR}/sanitizer-output/* 2> /dev/null"' ERR
|
||||
|
||||
if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
|
||||
# MemorySanitizer (MSAN) does not support tracking memory initialization done by
|
||||
# using the Linux getrandom syscall. Avoid using getrandom by undefining
|
||||
# HAVE_SYS_GETRANDOM. See https://github.com/google/sanitizers/issues/852 for
|
||||
# details.
|
||||
DOCKER_EXEC 'grep -v HAVE_SYS_GETRANDOM src/config/bitcoin-config.h > src/config/bitcoin-config.h.tmp && mv src/config/bitcoin-config.h.tmp src/config/bitcoin-config.h'
|
||||
fi
|
||||
|
||||
BEGIN_FOLD build
|
||||
DOCKER_EXEC make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && DOCKER_EXEC make $GOAL V=1 ; false )
|
||||
END_FOLD
|
||||
|
||||
BEGIN_FOLD cache_stats
|
||||
DOCKER_EXEC "ccache --version | head -n 1 && ccache --show-stats"
|
||||
DOCKER_EXEC du -sh "${DEPENDS_DIR}"/*/
|
||||
DOCKER_EXEC du -sh "${PREVIOUS_RELEASES_DIR}"
|
||||
END_FOLD
|
||||
61
ci/test/06_script_b.sh
Executable file
61
ci/test/06_script_b.sh
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018-2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
if [[ $HOST = *-mingw32 ]]; then
|
||||
BEGIN_FOLD wrap-wine
|
||||
# Generate all binaries, so that they can be wrapped
|
||||
DOCKER_EXEC make $MAKEJOBS -C src/secp256k1 VERBOSE=1
|
||||
DOCKER_EXEC make $MAKEJOBS -C src/univalue VERBOSE=1
|
||||
DOCKER_EXEC "${BASE_ROOT_DIR}/ci/test/wrap-wine.sh"
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ -n "$QEMU_USER_CMD" ]; then
|
||||
BEGIN_FOLD wrap-qemu
|
||||
# Generate all binaries, so that they can be wrapped
|
||||
DOCKER_EXEC make $MAKEJOBS -C src/secp256k1 VERBOSE=1
|
||||
DOCKER_EXEC make $MAKEJOBS -C src/univalue VERBOSE=1
|
||||
DOCKER_EXEC "${BASE_ROOT_DIR}/ci/test/wrap-qemu.sh"
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ -n "$USE_VALGRIND" ]; then
|
||||
BEGIN_FOLD wrap-valgrind
|
||||
DOCKER_EXEC "${BASE_ROOT_DIR}/ci/test/wrap-valgrind.sh"
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_UNIT_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD unit-tests
|
||||
DOCKER_EXEC ${TEST_RUNNER_ENV} DIR_UNIT_TEST_DATA=${DIR_UNIT_TEST_DATA} LD_LIBRARY_PATH=$DEPENDS_DIR/$HOST/lib make $MAKEJOBS check VERBOSE=1
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]; then
|
||||
BEGIN_FOLD unit-tests-seq
|
||||
DOCKER_EXEC ${TEST_RUNNER_ENV} DIR_UNIT_TEST_DATA=${DIR_UNIT_TEST_DATA} LD_LIBRARY_PATH=$DEPENDS_DIR/$HOST/lib "${BASE_BUILD_DIR}/elements-*/src/test/test_bitcoin*" --catch_system_errors=no -l test_suite
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD functional-tests
|
||||
DOCKER_EXEC LD_LIBRARY_PATH=$DEPENDS_DIR/$HOST/lib ${TEST_RUNNER_ENV} test/functional/test_runner.py --ci $MAKEJOBS --tmpdirprefix "${BASE_SCRATCH_DIR}/test_runner/" --ansi --combinedlogslen=4000 --timeout-factor=${TEST_RUNNER_TIMEOUT_FACTOR} ${TEST_RUNNER_EXTRA} --quiet --failfast
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_SECURITY_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD security-tests
|
||||
DOCKER_EXEC make test-security-check
|
||||
END_FOLD
|
||||
fi
|
||||
|
||||
if [ "$RUN_FUZZ_TESTS" = "true" ]; then
|
||||
BEGIN_FOLD fuzz-tests
|
||||
DOCKER_EXEC LD_LIBRARY_PATH=$DEPENDS_DIR/$HOST/lib test/fuzz/test_runner.py ${FUZZ_TESTS_CONFIG} $MAKEJOBS -l DEBUG ${DIR_FUZZ_IN}
|
||||
END_FOLD
|
||||
fi
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue