This project is mirrored from https://*****@github.com/dashpay/dash.git. Pull mirroring updated .
  1. 24 Feb, 2021 1 commit
    • UdjinM6's avatar
      instantsend: optimize db and cache usage (#3986) · 0b591043
      UdjinM6 authored
      * instantsend: keep islocks cache when removing confirmed islocks from db
      
      unordered_lru_cache should truncate it automagically
      
      * instantsend: Batched write/erase for connected/disconnected blocks
      0b591043
  2. 22 Feb, 2021 3 commits
  3. 21 Feb, 2021 1 commit
  4. 20 Feb, 2021 3 commits
  5. 18 Feb, 2021 2 commits
    • fanquake's avatar
      Merge #16408: depends: Prune X packages · 086bb0ba
      fanquake authored
      0c55d8b58186ba69fffc147cd02b174450dac578 depends: qt: Patch to remove dep on libX11 (Carl Dong)
      222e6cc52075cf6f866ce4a2e5900f0d6358f903 gitignore: Actually pay attention to depends patches (Carl Dong)
      65f8da08df601ac98bad6f638392343fd564c0b9 symbol-check: Disallow libX11-*.so.* shared libraries (Carl Dong)
      924569914e6079763fd1692bed372ded2c63d685 depends: libXext isn't needed by anyone (Carl Dong)
      689d3b4a030675b6de87a55463a8e155843293fb build-aux: Remove check for x11-xcb (Carl Dong)
      aa53cb7a2f04a59a4722c662e67b7a6ec04e32b5 depends: libX11: Make package headers-only (Carl Dong)
      9a01ab04e1125b37618266d7fd1c3a6e3bb7e3f8 depends: qt: Explicitly stop using Xlib/libX11 (Carl Dong)
      1ec30b8fbe4a162d6e2e6a9711d83f1bafd9b645 depends: xproto is only directly needed by libXau (Carl Dong)
      
      Pull request description:
      
        Related to: #16150
      
        We noticed that we could build QT without using XLib/libX11 as a library. XLib/libX11's headers are still used, and a minimal `configure.ac` has been added to eliminate overly-enthusiastic configure-time dependencies that aren't actually required to obtain the headers.
      
        This also means that we eliminate XLib/libX11 as required shared libraries at runtime, which is desirable.
      
        See commit messages for more details.
      
        ---
      
        Reviewers: I am least sure about the minimal `configure.ac`, as I'm not too familiar with the autoconf syntax. Any improvements w/re robustness would be welcome.
      
      ACKs for top commit:
        theuni:
          ACK 0c55d8b58186ba69fffc147cd02b174450dac578
        fanquake:
          ACK 0c55d8b58186ba69fffc147cd02b174450dac578
      
      Tree-SHA512: 41f653a0f91bc0e0faac49713c0c6dfd8cb605f9c4e34eb75a790dd808ebf3e5c160f1dd40bc8fbc911ee718ea319313b526d63733c98ff62d8dffecb58caa01
      086bb0ba
    • MarcoFalke's avatar
      Merge #15978: .gitignore: Don't ignore depends patches · 79a91383
      MarcoFalke authored
      a3592c91a2 .gitignore: Don't ignore depends patches (Carl Dong)
      
      Pull request description:
      
        Ignoring patches might be useful for those who use `git format-patch` often, but in our depends folder we **_want_** to keep track of our patches.
      
      ACKs for commit a3592c:
        practicalswift:
          utACK a3592c91a2d39efe80eb5fe81511da12728d2687
        laanwj:
          utACK a3592c91a2d39efe80eb5fe81511da12728d2687
        jonasschnelli:
          utACK a3592c91a2d39efe80eb5fe81511da12728d2687
        fanquake:
          utACK a3592c9
      
      Tree-SHA512: 439479cc2ff05335c3d21551a23b34ef2f8a4d0eb05085d2422c2c8d7d7035f529b83dc4056f18cb96234d6fa74075adaa14f0e5fb4c99e6189a4af9078fd28e
      79a91383
  6. 17 Feb, 2021 10 commits
    • dustinface's avatar
      gitlab: Typo nowalet -> nowallet (#4004) · 2ec8f21c
      dustinface authored
      2ec8f21c
    • Hennadii Stepanov's avatar
      Merge #18298: build: Fix Qt processing of configure script for depends with DEBUG=1 · 0180cdd7
      Hennadii Stepanov authored
      Now, if depends is built with DEBUG=1, the configure script correctly
      finds Qt for macOS and Windows.
      0180cdd7
    • fanquake's avatar
      Merge #19689: build: Add Qt version checking · 3e868760
      fanquake authored
      4af4672525f698c7b491023fcd36a17a4e982070 build, qt: Add Qt version checking (Hennadii Stepanov)
      30e336f785e1b662cade3cfacea91a9785ea1023 build: Drop unused bitcoin_cv_qt58 (Hennadii Stepanov)
      
      Pull request description:
      
        Now `configure` script checks that Qt version is not less then minimum required (currently [5.5.1](https://github.com/bitcoin/bitcoin/pull/15393)).
      
        This PR is an alternative to #15706 (see https://github.com/bitcoin/bitcoin/pull/15706#issuecomment-629076962).
      
        Closes #15688.
      
        The first commit removes dead code (see https://github.com/bitcoin/bitcoin/pull/18297#issuecomment-603252662).
      
      ACKs for top commit:
        fanquake:
          ACK 4af4672525f698c7b491023fcd36a17a4e982070 - this looks ok. I've tested this with Qt 5.15.0 and Qt 5.7.1 system libs, as well as 5.9.8 from depends.
      
      Tree-SHA512: 8e3b82fa3a98926814923331038185633fabad962c271f31bd158e1ab293dcde52ab1dbf997745540a9ed27e16835cf5b5f3701d405876d877fa561eb03cc619
      3e868760
    • fanquake's avatar
      Merge #18297: build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows · e2d3235e
      fanquake authored
      8a26848c460160e1279f26bc413f693a34e33b9d build: Fix m4 escaping (Hennadii Stepanov)
      9123ec15db104397998f5084afc69403d2f9e4b8 build: Remove extra tokens warning (Hennadii Stepanov)
      fded4f48c33742d7c790335c8de59c15b80d94e6 build: Remove duplicated QT_STATICPLUGIN define (Hennadii Stepanov)
      05a93d5d96101b45d87571af5b772c7a1e82fd27 build: Fix indentation in bitcoin_qt.m4 (Hennadii Stepanov)
      ddbb41931019ed4226af3df37874c7eb7cf570f1 build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts (Hennadii Stepanov)
      492971de35bab26346545f68365872211f458b00 build: Fix mingw pkgconfig file and dependency naming (Hennadii Stepanov)
      
      Pull request description:
      
        This PR makes `bitcoin_qt.m4` to use `pkg-config` for all hosts and removes non-pkg-config paths from it. This is a step towards the idea which was clear [stated](https://github.com/bitcoin/bitcoin/pull/8314#issue-76644643) by Cory Fields:
        > I believe the consensus is to treat Windows like the others and require pkg-config across the board. We can drop all of the non-pkg-config paths, and simply AC_REQUIRE(PKG_PROG_PKG_CONFIG)
      
        There are two unsolved problems with this PR. If depends is built with `DEBUG=1` the `configure` script fails to pickup Qt:
        - for macOS host (similar to, but not the same as #16391)
        - for Windows host (regression)
      
        The fix is ~on its way~ submitted in #18298 (as a followup).
      
        Also this PR picks some small improvements from #17820.
      
      ACKs for top commit:
        theuni:
          Code review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
        dongcarl:
          Code Review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
        laanwj:
          Code review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
      
      Tree-SHA512: 3b25990934b939121983df7707997b31d61063b1207d909f539d69494c7cb85212f353092956d09ecffebb9fef28b869914dd1216a596d102fcb9744bb5487f7
      e2d3235e
    • fanquake's avatar
      Merge #17005: build: Qt version appears only if GUI is being built · 822db340
      fanquake authored
      57b0cd4db9ec26d5a00714016639e218cfa1ccda build: Installed Qt version only appears if being built (Jon Layton)
      
      Pull request description:
      
        Closes #16989.
      
        Simplifies `./configure` output for `x$bitcoin_enable_qt`.
      
        Now:
        `checking whether to build Bitcoin Core GUI... no`
        `checking whether to build Bitcoin Core GUI... yes (Qt5)`
      
      ACKs for top commit:
        laanwj:
          ACK 57b0cd4db9ec26d5a00714016639e218cfa1ccda
        fanquake:
          ACK 57b0cd4db9ec26d5a00714016639e218cfa1ccda
      
      Tree-SHA512: 3ca2082f251c206bb1661277dac1075acea046f0a1d2cd997550aa83dd886036b7282f0e30cdaf51ed636d8a40d9b7ffb8600743450f4f4c014c541cb7b2eb0d
      822db340
    • UdjinM6's avatar
      wallet: Always skip conflicting txes in SelectCoinsGroupedByAddresses (#4002) · 1a61c5d9
      UdjinM6 authored
      * wallet: Always skip conflicting txes in SelectCoinsGroupedByAddresses
      
      * tests: add tests for SelectCoinsGroupedByAddresses
      1a61c5d9
    • UdjinM6's avatar
      instantsend: Introduce KnownInstantSendLock, optimize ProcessInstantSendLock a bit (#3984) · 5d9c9089
      UdjinM6 authored
      * instantsend: Introduce (and use) KnownInstantSendLock
      
      Check islock hash against both current and archived islocks
      
      * instantsend: Optimize ProcessInstantSendLock, check for known islocks first
      
      Two reasons:
      1. GetTransaction is a potentially much heavier one
      2. Doesn't make much sense to look for a tx if we have a known islock already
      
      * Drop extra pendingInstantSendLocks.count(hash)
      
      * Check pindexMined != nullptr
      
      * Update src/llmq/quorums_instantsend.cpp
      Co-authored-by: default avatardustinface <35775977+xdustinface@users.noreply.github.com>
      
      * Update src/llmq/quorums_instantsend.h
      Co-authored-by: default avatarPastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
      Co-authored-by: default avatardustinface <35775977+xdustinface@users.noreply.github.com>
      Co-authored-by: default avatarPastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
      5d9c9089
    • Wladimir J. van der Laan's avatar
      Merge #20195: build: fix mutex detection when building bdb on macOS · 53ad0871
      Wladimir J. van der Laan authored
      d0a829e9632379e42f0be5c554e3b692f0d14a95 build: fix mutex detection when building bdb on macOS (fanquake)
      
      Pull request description:
      
        Starting with the Apple Clang shipped with Xcode 12, [Apple has enabled -Werror=implicit-function-declaration by default](https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes):
        > Clang now reports an error when you use a function without an explicit declaration when building C or Objective-C code for macOS (-Werror=implicit-function-declaration flag is on). This additional error detection unifies Clang’s behavior for iOS/tvOS and macOS 64-bit targets for this diagnostic. (49917738)
      
        This causes bdbs mutex detection to fail when building on macOS (not cross-compiling):
        ```bash
        checking for mutexes... UNIX/fcntl
        configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
        configure: error: Unable to find a mutex implementation
        ```
      
        as previously emitted warnings are being turned into errors. i.e:
        ```bash
        configure:18704: checking for mutexes
        configure:18815: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -mmacosx-version-min=10.12 --sysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o conftest -pipe -O2  -I/Users/michael/github/fanquake-bitcoin/depends/x86_64-apple-darwin19.6.0/include -L/Users/michael/github/fanquake-bitcoin/depends/x86_64-apple-darwin19.6.0/lib conftest.c  -lpthread >&5
        conftest.c:46:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
        main() {
        ^
        conftest.c:51:2: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
                exit (
                ^
        conftest.c:51:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
        1 warning and 1 error generated.
        ```
      
        Append `-Wno-error=implicit-function-declaration` to `cflags` so that `-Wimplicit-function-declaration` [returns to being a warning](https://clang.llvm.org/docs/UsersManual.html#cmdoption-wno-error), and the configure checks succeed.
      
        Fixes #19411.
      
      ACKs for top commit:
        laanwj:
          Code review ACK d0a829e9632379e42f0be5c554e3b692f0d14a95
      
      Tree-SHA512: 7813005b1fc0b370f843b6c0672acab32c999416e92c3f02b75d866e9c7aa41fe5822704fc74de6b65f0d7d94f2cdd05cc7c3ee83295ff1ecbc71d8492b9a2bf
      53ad0871
    • Wladimir J. van der Laan's avatar
      Merge #17231: depends: fix boost mac cross build with clang 9+ · badc91f9
      Wladimir J. van der Laan authored
      50037e97d11356218c4b36767232e47b74742b0b depends: fix boost mac cross build with clang 9+ (Cory Fields)
      
      Pull request description:
      
        The ancient "darwin-4.9.1" profile has long been used to match against clang, which prior to version 9, reported 4.9.1 as its version when invoking "clang++ -dumpversion". Presumably this was a historical compatibility quirk related to Apple's switch from gcc to clang.
      
        This was "fixed" in clang 9.0, so that -dumpversion reports the real version. Unfortunately that had the side-effect of breaking the (brittle) boost compiler detection.
      
        Move to the seemingly more-correct "clang-darwin" profile, which passes the checks and builds correctly.
      
        Also switch to using ar rather than libtool for archiving, as it's what the clang-darwin profile expects to be using.
      
        Note that because this is using a different profile, some of the final command-line arguments end up changing. Those changes look sane at a glance.
      
      ACKs for top commit:
        fanquake:
          ACK 50037e97d11356218c4b36767232e47b74742b0b - tested on on macOS, will wait for the gitian build.
      
      Tree-SHA512: eac1f353513a445add6fbece7fc78dd3dbdde5e2219bfb7739b82f40bb14de449667a94d2e303d43c67d9b38e7ceb0ba5f0d8fe20b40be2017b1ca0875467c2c
      badc91f9
    • Wladimir J. van der Laan's avatar
      Merge #15461: [depends] update to Boost 1.70 · d390a141
      Wladimir J. van der Laan authored
      2620e24b83d16bf0f2bfe360dee1e98b4be59ca5 [depends] boost: update to 1.70 (Sjors Provoost)
      
      Pull request description:
      
        Version [1.70](https://www.boost.org/users/history/version_1_70_0.html) is most recent.
      
        Versions needed for:
        * 1.66: #12557: fixes the single arm64 configuration ([06ee5b5](https://github.com/ruslo/hunter/commit/06ee5b54ef310b376cdaa7928f89b4995ceb2efc))
      
      ACKs for commit 2620e2:
      
      Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
      d390a141
  7. 16 Feb, 2021 1 commit
  8. 14 Feb, 2021 5 commits
  9. 11 Feb, 2021 4 commits
  10. 08 Feb, 2021 2 commits
  11. 04 Feb, 2021 8 commits
    • UdjinM6's avatar
    • MarcoFalke's avatar
      Merge #13924: tests: Simplify comparison in rpc_blockchain.py · e6bbb2f2
      MarcoFalke authored
      1f87c372b5 Simplify comparison in rpc_blockchain.py. (Daniel Kraft)
      
      Pull request description:
      
        The test for `gettxoutsetinfo` in `rpc_blockchain.py` verifies that the result is the same as before after invalidating and reconsidering a block.  The comparison has to exclude the `disk_size` field, though, as it is not deterministic.
      
        Instead of comparing all the other fields for equality, this change explicitly removes the `disk_size` field and then compares the full objects.  This makes the intent more explicit (compare everything except for `disk_size`, not compare just a given list of fields) and also the code simpler.
      
      Tree-SHA512: 3c376a8836b62988fb2f0117c9ca65de64a33bf3cd4980a123de30bf5e7b7a48eda477b25e03d672ff076e205c698e83432469156caa0f0f3ebbb0480f0dd77d
      e6bbb2f2
    • Wladimir J. van der Laan's avatar
      Merge #13925: Merge leveldb subtree · 2f301fdb
      Wladimir J. van der Laan authored
      ec749b1bcdf2483b642fb51d635800e272c68ba6 Squashed 'src/leveldb/' changes from 64052c76c5..524b7e36a8 (MarcoFalke)
      
      Pull request description:
      
        For review:
      
        ```sh
        git fetch https://github.com/bitcoin-core/leveldb
        ./test/lint/git-subtree-check.sh src/leveldb
        ```
      
        Closes #13860
      
      Tree-SHA512: 9d13384fe35e7144b4a7fca57efe77b0cc5295952da4a397e4c6d8aa3f8043d5113fccedd3ae1dcaa3d2649e732e5f57a71504847946e055aa4dc8c3780e29fc
      2f301fdb
    • MarcoFalke's avatar
      Merge #13876: wallet: Catch filesystem_error and raise InitError · b08e60e5
      MarcoFalke authored
      fa8527ffec wallet: Catch filesystem_error and raise InitError (MarcoFalke)
      
      Pull request description:
      
        Fixes #13754 by restoring the previous behaviour
      
      Tree-SHA512: f64052e89f6b332be395df2a5ea6f227c213fa2f38e415e83f30a4fad0938e947e5cddff7902368a43c07be135955a31b90f7eac5a46875c58d54ea95f87f6e6
      b08e60e5
    • Wladimir J. van der Laan's avatar
      Merge #13717: docs: Link to python style guidelines from developer notes · a9ba11c3
      Wladimir J. van der Laan authored
      a9e898a4ad547ad344671db2b942b99925f0c732 docs: Link to python style guidelines from developer notes (Mason Simon)
      
      Pull request description:
      
        Initially I moved the python style guidelines from the functional test README, but some of the python rules are test-specific, and most of the developer notes doc is C++ centric, so just dropping a link seemed better.
      
      Tree-SHA512: 9d4d5cc45526319a118595d90fcfad2c9aced22007aa096d8af04ba1b963312822804f4c15b0b227d66af49565034437691b7760e7ff6d1e3f8b10b898906362
      a9ba11c3
    • MarcoFalke's avatar
      Merge #13786: refactor: Avoid locking tx pool cs thrice · 4a7387fb
      MarcoFalke authored
      fa5ed4f8d2 refactor: Avoid locking tx pool cs thrice (MarcoFalke)
      
      Pull request description:
      
        `addUnchecked` is (outside the tests) only called by ATMP, which already takes the tx pool read lock. So locking it twice more in both `addUnchecked` methods seems redundant.
      
        Similarly `CalculateMemPoolAncestors` is (beside once in the wallet) only called in contexts, where the tx pool lock is already taken. So remove the lock there as well.
      
      Tree-SHA512: fcf603b570da0fc529fe6db8add218663eae52845510732bee0d4611263d2429d3d3c9c8ae68493d67287d13504500ed51905ccbe711eb15a0af3b019edad543
      4a7387fb
    • pasta's avatar
      fix · cc9c4707
      pasta authored
      Signed-off-by: default avatarpasta <pasta@dashboost.org>
      cc9c4707
    • Wladimir J. van der Laan's avatar
      Merge #12634: [refactor] Make TransactionWithinChainLimit more flexible · a8863dc3
      Wladimir J. van der Laan authored
      f77e1d34fd5f17304ce319b5f962b8005592501a test: Add MempoolAncestryTests (Karl-Johan Alm)
      a08d76bcfee6f563a268933357931abe32060668 mempool: Calculate descendant maximum thoroughly (Karl-Johan Alm)
      6d3568371eb2559d65a3e2334252d36a262319e8 wallet: Switch to using ancestor/descendant limits (Karl-Johan Alm)
      6888195b062c8c58dd776fd10b44b25554eb1f15 wallet: Strictly greater than for ancestor caps (Karl-Johan Alm)
      322b12ac4e0a8c892e81a760ff7225619248b74f Remove deprecated TransactionWithinChainLimit (Karl-Johan Alm)
      47847515473b054929af0c8de3d54b6672500cab Switch to GetTransactionAncestry() in OutputEligibleForSpending (Karl-Johan Alm)
      475a385a80198a46a6d99846f99b968f04e9b470 Add GetTransactionAncestry to CTxMemPool for general purpose chain limit checking (Karl-Johan Alm)
      46847d69d2c1cc908fd779daac7884e365955dbd mempool: Fix max descendants check (Karl-Johan Alm)
      b9ef21dd727dde33f5bd3c33226b05d07eb12aac mempool: Add explicit max_descendants (Karl-Johan Alm)
      
      Pull request description:
      
        Currently, `TransactionWithinChainLimit` is restricted to single-output use, and needs to be called every time for different limits. If it is replaced with a chain limit value calculator, that can be called once and reused, and is generally more flexible (see e.g. #12257).
      
        Update: this PR now corrects usage of max ancestors / max descendants, including calculating the correct max descendant value, as advertised for the two limits.
      
        ~~This change also makes `nMaxAncestors` signed, as the replacement method will return `-1` for "not in the mempool", which is different from "0", which means "no ancestors/descendants in mempool".~~
      
        ~~This is a subset of #12257.~~
      
      Tree-SHA512: aa59c849360542362b3126c0e29d44d3d58f11898e277d38c034dc4b86a5b4500f77ac61767599ce878c876b5c446fec9c02699797eb2fa41e530ec863a00cf9
      a8863dc3