1. 29 Jun, 2022 2 commits
  2. 28 Jun, 2022 1 commit
  3. 19 Jun, 2022 1 commit
  4. 17 Jun, 2022 2 commits
  5. 14 Jun, 2022 1 commit
    • Calin Culianu's avatar
      lint: Allow std::variant to appear in codebase. · 281d39ce
      Calin Culianu authored
      All of the compilers and libraries we now target support this C++17
      language feature. The last holdout was our macOS support, but since
      we upgraded to 10.14 as the base deployment target in MR !1524,
      std::variant is now supported on macOS as well.  As such, we can remove
      this linting check from our codebase.
      281d39ce
  6. 11 Jun, 2022 1 commit
  7. 08 Jun, 2022 1 commit
  8. 07 Jun, 2022 1 commit
    • Calin Culianu's avatar
      Upgrade Qt version to 5.15.3 for depends & gitian · 4b778adf
      Calin Culianu authored and freetrader's avatar freetrader committed
      This takes a bunch of changes from Core, heavily modified to work ok with
      cmake, and upgrades the statically-linked Qt library we use for release
      and/or depends from Qt 5.9.7 to Qt 5.15.3 (latest patched Qt5).
      This brings lots of bugfixes and better support for HighDPI displays,
      as well as correct OSX dark mode support (yay!).  By now, Qt 5.9.7 is
      ancient and we really should be shipping the latest patched Qt with our
      static binary releases.
      
      Notes:
      
      - We had to upgrade OpenSSL from 1.0.1 to 1.1.1n because Qt 5.15.3
        requires this library and refuses to work with older OpenSSL
        Ideally the openssl update would be a separate MR but the newer
        openssl refuses to work with our older Qt 5.9.8 !! Argh! So I had to
        roll these into the same MR.
      - bison now is required on the host system when building using depends.
      - OSX version works but requires clang-8.0.0 and OSX SDK 10.15
        (see: !1524).
        
      Test Plan
      ---------
      
      - build all platform with gitian
      - verify ...
      4b778adf
  9. 05 Jun, 2022 1 commit
  10. 03 Jun, 2022 1 commit
  11. 31 May, 2022 3 commits
  12. 30 May, 2022 1 commit
  13. 29 May, 2022 3 commits
  14. 28 May, 2022 2 commits
    • Calin Culianu's avatar
      Merge branch 'unused_defines' into 'master' · 1978a84f
      Calin Culianu authored
      Unused preprocessor definitions
      
      See merge request !1560
      1978a84f
    • Calin Culianu's avatar
      [OSX] Update to clang-8.0.0, MacOSX SDK 10.15 and set minimum sysver=10.14 · b0f24276
      Calin Culianu authored and freetrader's avatar freetrader committed
      This is required for the upgrade to Qt 5.15.3 to work on OSX.
      It is a pre-requisite for MR !1523.
      
      We upgrade the clang we use to build the OSX binaries from 6.0.1 -> 8.0.0,
      thus bringing improvements to generated code and increased support for C++17.
      
      Additionally, we were forced to update the OSX minimum system version from
      10.12 (Sierra) to 10.14 (Mojave). This increases C++17 coverage and is also
      required by the new Qt 5.15.3 in !1523. This means that it's possible that
      the pre-built app we ship won't run on older macs, however at this point Mojave
      is itself 4 versions back, so setting that as the minimum brings some benefits.
      Namely.. dark mode will work once we upgrade to Qt 5.15.3, which is a huge
      UI win for most users.
      
      Test Plan
      ---------
      
      - You need to update your downloaded MacOSX SDK from 10.14 -> 10.15
        (see instructions in commit's `doc/gitian-building.md` and `depends/README.md`)
      - Add this to `gitian-builder/inputs...
      b0f24276
  15. 27 May, 2022 2 commits
    • Calin Culianu's avatar
      Add script to poll bitcoind for MTP to elapse and broadcast a transaction · 1122bcf5
      Calin Culianu authored and freetrader's avatar freetrader committed
      1122bcf5
    • Calin Culianu's avatar
      Hardcode height for May 15, 2022 consensus upgrade · 28539806
      Calin Culianu authored and freetrader's avatar freetrader committed
      This allows us to avoid the expensive MTP check for the May 15, 2022 upgrade
      and instead use pindexPrev->nHeight directly which is much faster.
      We did this for phonon and other previous upgrades (but not Axion
      for "reasons").
      
      Note that we hard-coded the activation height for scalenet to 10,006
      since we will reorg this chain anyway in the future bqck to height 10,000.
      We chose 10,006 because other nodes may be relying on MTP time to activate
      upgrade8 still, and we anticipate that after a reorg height 10,007 will
      be the first block to accept the new rules (the activation height is always
      1 less than the first fork block for new rules).
      
      It's safe to retroactively do this to scalenet because upgrade8 actually
      was a "reverse-soft-fork", or a loosening of consensus rules. So the scalenet
      chain is valid using the new rules because it was valid under the older,
      stricter rules. To keep things simple we simply retroactively pretend that
      scalenet always allowed native introspection and other upgrade opcodes after
      height 10,006.
      
      We also removed the `-upgrade8activationtime` flag from BCHN.
      
      This means we had to update 2 functional tests to remove the use of the
      upgrade8activationtime flag (which simply tested for block rejection
      pre-activation).
      
      These tests were good to have but since the new rules are now active on
      the real chain, and since we had to remove the activation time argument,
      the two minor functional tests cases relying on this argument were removed.
      
      Test Plan
      ---------
      
      - Review the hard-coded heights are 1 before the fork block (activation is
        weird and we always hard-code the height that is 1-before the fork block!)
      - `ninja all check-all`
      - Optional: Run a full node on mainnet and sync it from scratch
        (can be done before release)
      - Optional2: Run a full scalenet node off this MR and sync it from scratch
        to be paranoid
      28539806
  16. 25 May, 2022 1 commit
  17. 23 May, 2022 1 commit
    • Calin Culianu's avatar
      [qa] Bump version to 24.1.0 · 44fcbf1f
      Calin Culianu authored
      Summary
      ---
      
      This is in preparation for the upcoming release.  It was decided in
      Slack by maintainers that a minor version bump was warranted on account
      of this version containing a significant update to a major subsystem:
      the network subsystem was updated to support torv3.
      
      Test Plan
      ---
      
      `ninja clean && ninja && src/bitcoind --version` (verify version is updated)
      44fcbf1f
  18. 22 May, 2022 3 commits
    • Calin Culianu's avatar
      Update chainTxData for main, test3, and test4 chains. · 3d504202
      Calin Culianu authored
      This data is used for UI purposes only to estimate blockchain
      download/IBD progress. It is obtained by looking at the debug.log for
      the respective chain and looking at the latest UpdateTip line to get the
      tx count and block time.  The estimated TPS was calculated by taking:
      
      `(last_txn_count - this_txn_count) / (last_time - this_time)`
      3d504202
    • Calin Culianu's avatar
      Add checkpoints for May 15 2022 upgrade for main and testnet chains · 36e91bc2
      Calin Culianu authored
      This adds a checkpoint for mainnet, testnet3, and testnet4 on the
      activation block of the May 15, 2022 upgrade (that is, the first block
      mined under new rules).
      36e91bc2
    • Calin Culianu's avatar
      Fix inappropriate C-style usage of class uint256 in base58.cpp · 6805f9ac
      Calin Culianu authored
      Summary
      ---
      
      This is a code quality commit -- it is inappropriate to use class uint256
      as if it were a C-style array of uint8_t (even though the underlying
      representation is indeed as such).  While the code in question is not
      technically wrong as per the C++ standard, it is unsafe in case we ever
      decide to change the representation of class uint256.  It is also
      inelegant.
      
      It is best to use the accessor methods .data() or .begin() to access
      the underlying uint8_t bytes. This commit does just that.
      
      Test Plan
      ---
      
      - ninja all check-all
      6805f9ac
  19. 18 May, 2022 3 commits
    • Calin Culianu's avatar
      [qa] Fix checkpoints for the DAA activation block · 223983f2
      Calin Culianu authored
      The DAA activated when height = X, but the actual activation block was X
      + 1.  The reason why this is has to do with how activation works (you
      activate new rules at height X, but the block following X has the
      new rules in place!).
      
      A number of our checkpoints in early days of BCH suffered from off-by-1
      errors here (see: MRs !1539 and !1540).  This MR is a follow-up
      to those to correct the DAA activation block checkpoint being 1
      block too early.
      
      While it doesn't matter much practically, it does makes sense for historical
      reasons to fix the checkpoints to be the actual block that was the forking
      block for a particular rules change, and not the preceding block which was not
      using the new rules yet.  One might imagine someone reading our code and
      using these hashes for some other tool in the future and since code is a
      form of documentation, it's best to document these historical blocks of
      interest precisely.
      
      Test plan:
      
      - ninja all check
      - Verify that the proposed changed hashes are on the mainnet and/or
        testnet3 chains respectively, at the specified height (use a block
        explorer or a full node RPC to accomplish this).
      223983f2
    • Calin Culianu's avatar
      [qa] Correct the checkpoint for first post-UAHF block for testnet3 · da74edc6
      Calin Culianu authored
      This is a follow-up to MR !1539 which corrected the UAHF checkpoint
      block for mainnet.  This does similar for testnet3.  The old checkpoints
      don't matter much now since we have since added more checkpoints after
      them, but it's nice to be correct and consistent.  This is a purely
      aesthetic/QA MR.
      
      Test plan:
      
      - ninja check-all
      - Use a block explorer or BTC & BCH testnet3 node RPCs to verify that
        the existing hash for height 1155875 is
        `00000000f17c850672894b9a75b63a1e72830bbd5f4c8889b5c1a80e7faef138` on
         both chains (this is wrong as a checkpoint!).
      - Use a block explorer or BTC & BCH testnet3 node RPCs to verify that
        the new hash in this MR for height 1155876 is
        `00000000000e38fef93ed9582a7df43815d5c2ba9fd37ef70c9a0ea4a285b8f5` and
        that this block exists only on BCH and not on BTC.
      da74edc6
    • Calin Culianu's avatar
      Merge branch 'fix-uahf-checkpoint-for-technical-correctness' into 'master' · 26817360
      Calin Culianu authored
      [qa] Correct the checkpoint for first post-UAHF block
      
      See merge request !1539
      26817360
  20. 15 May, 2022 1 commit
  21. 04 May, 2022 3 commits
  22. 12 Apr, 2022 1 commit
  23. 11 Apr, 2022 1 commit
  24. 25 Mar, 2022 2 commits
  25. 24 Mar, 2022 1 commit