Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR #177 conflictions fix #197

Open
wants to merge 133 commits into
base: rel-1.9.0
Choose a base branch
from

Commits on May 6, 2020

  1. Configuration menu
    Copy the full SHA
    a07c374 View commit details
    Browse the repository at this point in the history
  2. [DB] Db runtime error cleaning the variable that needs to be logged r…

    …ight before print it.
    furszy authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    9875777 View commit details
    Browse the repository at this point in the history
  3. [Build] CMake Improvements

    This includes some improvements and fixes for the CMake build system.
    
    * Use explicit per-target includes instead of global includes for dependencies.
    * Don't assume the availability of optional dependencies.
    * Fix Ubuntu build issues relating to endian/byteswap.
    * Ignore the qt subdir for windows WSL based builds.
    * Add TravisCI stage to test CMake builds.
    
    Windows support is still a work in progress, with the qt subdir being ignored
    due to an issue with CMake linking against a static Qt library.
    
    CMake Builds on TravisCI are allowed to fail for the time being.
    Fuzzbawls authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    83c2cf7 View commit details
    Browse the repository at this point in the history
  4. Allow WSL builds with cmake

    Requires VcXsrv for running of resulting builds.
    Fuzzbawls authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    79ece4e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0066758 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    55fd07a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    53c0de3 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    93f8dfe View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3da089f View commit details
    Browse the repository at this point in the history
  10. util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD

    These are available in sandboxes without access to files or
    devices. Also [they are safer and more straightforward](https://en.wikipedia.org/wiki/Entropy-supplying_system_calls)
    to use than `/dev/urandom` as reading from a file has quite a few edge
    cases:
    
    - Linux: `getrandom(buf, buflen, 0)`. [getrandom(2)](http://man7.org/linux/man-pages/man2/getrandom.2.html)
      was introduced in version 3.17 of the Linux kernel.
    - OpenBSD: `getentropy(buf, buflen)`. The [getentropy(2)](http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/getentropy.2)
      function appeared in OpenBSD 5.6.
    - FreeBSD and NetBSD: `sysctl(KERN_ARND)`. Not sure when this was added
      but it has existed for quite a while.
    
    Alternatives:
    
    - Linux has sysctl `CTL_KERN` / `KERN_RANDOM` / `RANDOM_UUID`
      which gives 16 bytes of randomness. This may be available
      on older kernels, however [sysctl is deprecated on Linux](https://lwn.net/Articles/605392/)
      and even removed in some distros so we shouldn't use it.
    
    Add tests for `GetOSRand()`:
    
    - Test that no error happens (otherwise `RandFailure()` which aborts)
    - Test that all 32 bytes are overwritten (initialize with zeros, try multiple times)
    
    Discussion:
    
    - When to use these? Currently they are always used when available.
      Another option would be to use them only when `/dev/urandom` is not
      available. But this would mean these code paths receive less testing,
      and I'm not sure there is any reason to prefer `/dev/urandom`.
    
    Closes: bitcoin#9676
    laanwj authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    17a818c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    c4a4ebc View commit details
    Browse the repository at this point in the history
  12. sanity: Move OS random to sanity check function

    Move the OS random test to a sanity check function that is called every
    time bitcoind is initialized.
    
    Keep `src/test/random_tests.cpp` for the case that later random tests
    are added, and keep a rudimentary test that just calls the sanity check.
    laanwj authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    8cf6365 View commit details
    Browse the repository at this point in the history
  13. random: Add fallback if getrandom syscall not available

    If the code was compiled with newer (>=3.17) kernel headers but executed
    on a system without the system call, every use of random would crash the
    program. Add a fallback for that case.
    laanwj authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    ac8773c View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ca89d95 View commit details
    Browse the repository at this point in the history
  15. Kill insecure_random and associated global state

    There are only a few uses of `insecure_random` outside the tests.
    This PR replaces uses of insecure_random (and its accompanying global
    state) in the core code with an FastRandomContext that is automatically
    seeded on creation.
    
    This is meant to be used for inner loops. The FastRandomContext
    can be in the outer scope, or the class itself, then rand32() is used
    inside the loop. Useful e.g. for pushing addresses in CNode or the fee
    rounding, or randomization for coin selection.
    
    As a context is created per purpose, thus it gets rid of
    cross-thread unprotected shared usage of a single set of globals, this
    should also get rid of the potential race conditions.
    
    - I'd say TxMempool::check is not called enough to warrant using a special
      fast random context, this is switched to GetRand() (open for
      discussion...)
    
    - The use of `insecure_rand` in ConnectThroughProxy has been replaced by
      an atomic integer counter. The only goal here is to have a different
      credentials pair for each connection to go on a different Tor circuit,
      it does not need to be random nor unpredictable.
    
    - To avoid having a FastRandomContext on every CNode, the context is
      passed into PushAddress as appropriate.
    
    There remains an insecure_random for test usage in `test_random.h`.
    laanwj authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    acef286 View commit details
    Browse the repository at this point in the history
  16. Add ChaCha20

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    7bbc2ee View commit details
    Browse the repository at this point in the history
  17. Switch FastRandomContext to ChaCha20

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    027dc20 View commit details
    Browse the repository at this point in the history
  18. Introduce FastRandomContext::randbool()

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    07ac7db View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    b769766 View commit details
    Browse the repository at this point in the history
  20. Use hardware timestamps in RNG seeding

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    9ae9d61 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    961f49b View commit details
    Browse the repository at this point in the history
  22. Use sanity check timestamps as entropy

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    74372d1 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    2447d22 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    556addc View commit details
    Browse the repository at this point in the history
  25. random: only use getentropy on openbsd

    theuni authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    3eba0f3 View commit details
    Browse the repository at this point in the history
  26. [Random] Fix compilation

    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    f859bdf View commit details
    Browse the repository at this point in the history
  27. Add FastRandomContext::rand256() and ::randbytes()

    FastRandomContext now provides all functionality that the real Rand* functions
    provide.
    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    061a21e View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    49e45da View commit details
    Browse the repository at this point in the history
  29. Merge test_random.h into test_bitcoin.h

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    6407a40 View commit details
    Browse the repository at this point in the history
  30. Replace more rand() % NUM by randranges

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    4edb342 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    6de3ab4 View commit details
    Browse the repository at this point in the history
  32. [Random / tests] scripted-diff: use insecure_rand256/randrange more

    -BEGIN VERIFY SCRIPT-
    sed -i "s/\<GetRandHash(/insecure_rand256(/" src/test/*_tests.cpp
    sed -i "s/\<GetRand(/insecure_randrange(/" src/test/*_tests.cpp
    src/test/test_bitcoin.cpp
    sed -i 's/\<insecure_rand() % \([0-9]\+\)/insecure_randrange(\1)/g'
    src/test/*_tests.cpp
    -END VERIFY SCRIPT-
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    6e3ef14 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    f3f85de View commit details
    Browse the repository at this point in the history
  34. random: fix crash on some 64bit platforms

    rbx needs to be stashed in a 64bit register on 64bit platforms. With this crash
    in particular, it was holding a stack canary which was not properly restored
    after the cpuid.
    
    Split out the x86+PIC case so that x86_64 doesn't have to worry about it.
    theuni authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    81774fd View commit details
    Browse the repository at this point in the history
  35. Use cpuid intrinsics instead of asm code

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    b1f402c View commit details
    Browse the repository at this point in the history
  36. Clarify entropy source

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    b9bab59 View commit details
    Browse the repository at this point in the history
  37. [Random / tests] scripted-diff: Use randbits/bool instead of randrange

    -BEGIN VERIFY SCRIPT-
    sed -i 's/insecure_randbits(1)/insecure_randbool()/g'
    src/test/*_tests.cpp
    sed -i 's/insecure_randrange(2)/insecure_randbool()/g'
    src/test/*_tests.cpp
    sed -i 's/insecure_randrange(4)/insecure_randbits(2)/g'
    src/test/*_tests.cpp
    sed -i 's/insecure_randrange(32)/insecure_randbits(5)/g'
    src/test/*_tests.cpp
    sed -i 's/insecure_randrange(256)/insecure_randbits(8)/g'
    src/test/*_tests.cpp
    -END VERIFY SCRIPT-
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    c0653cd View commit details
    Browse the repository at this point in the history
  38. [Rand/test] scripted-diff: Use new naming style for insecure_rand*

    functions
    
    -BEGIN VERIFY SCRIPT-
    sed -i 's/\<insecure_randbits(/InsecureRandBits(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    sed -i 's/\<insecure_randbool(/InsecureRandBool(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    sed -i 's/\<insecure_randrange(/InsecureRandRange(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    sed -i 's/\<insecure_randbytes(/InsecureRandBytes(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    sed -i 's/\<insecure_rand256(/InsecureRand256(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    sed -i 's/\<insecure_rand(/InsecureRand32(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    sed -i 's/\<seed_insecure_rand(/SeedInsecureRand(/g' src/test/*.cpp
    src/test/*.h src/wallet/test/*.cpp
    -END VERIFY SCRIPT-
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    e0b48c3 View commit details
    Browse the repository at this point in the history
  39. [Tests] Fix compilation

    Some mistakes where done while backporting
    bitcoin#10321
    Compilation is fixed here
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    a45ff27 View commit details
    Browse the repository at this point in the history
  40. Fix resource leak

    Dag Robole authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    6d7add2 View commit details
    Browse the repository at this point in the history
  41. Add attribute [[noreturn]] (C++11) to functions that will not return

    Rationale:
    * Reduce the number of false positives from static analyzers
    * Potentially enable additional compiler optimizations
    practicalswift authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    b36d0c9 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    0cb3058 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    7b59944 View commit details
    Browse the repository at this point in the history
  44. Do not permit copying FastRandomContexts

    sipa authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    6d83e0e View commit details
    Browse the repository at this point in the history
  45. [Random] Add a missing include

    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    28605a3 View commit details
    Browse the repository at this point in the history
  46. [Refactor] Use arrays instead of unic vars in Chacha20

    Makes the code shorter and more concise. Might allow for some compiler
    optimisations.
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    965554f View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    e5c5183 View commit details
    Browse the repository at this point in the history
  48. Fixes and some clean up

    KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    2a620f6 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    9cd8cf0 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    284978f View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    79eef0a View commit details
    Browse the repository at this point in the history
  52. [Refactor] refactor/fix CSporkManager and CSporkMessage classes

    - move ProcessSpork, GetSporkValue, IsSporkActive, ExecuteSpork and
    mapSporksActive to CSporkManager
    - move Sign, CheckSignature, Relay to CSporkMessage
    - move ReprocessBlocks out of sporks to main.cpp
    - rename DisconnectBlocksAndReprocess to DisconnectBlocks
    - bugfix: only set strMasterPrivKey if spork signature produced by that
    key was verified successfully
    - few log format changes, cleaned up includes
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    9b8d98f View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    827d25b View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    0fba7c1 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    12cc972 View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    03533a4 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    6f07229 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    87dd525 View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    cadd048 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    219a1ee View commit details
    Browse the repository at this point in the history
  61. Fix spork RPC to use new spork defs

    This also removes the need for SPORK_START/SPORK_END
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    1fe8c49 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    662b4b6 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    f1d7b52 View commit details
    Browse the repository at this point in the history
  64. [Spork] fix CSporkManager maps

    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    1e1ecfe View commit details
    Browse the repository at this point in the history
  65. Configuration menu
    Copy the full SHA
    94e04a1 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    159e92e View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    01b248a View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    a5adc16 View commit details
    Browse the repository at this point in the history
  69. [Travis] Lower timeout for the full test suite

    Set the build timeout for the longest job to 21mn 40sec.
    Set the build timeout for the other jobs back to 33 mn and 20 sec.
    This should avoid global 50 mn timeout on the longest job and avoid
    having to restart other jobs needlessly.
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    4619005 View commit details
    Browse the repository at this point in the history
  70. [Startup][Refactor][Backport]

    * OS memory allocation fail handler.
    * OS signal handler registration method created to remove code duplication.
    * AppInitBasicSetup() method created, organizing better the setup step of the wallet initialization.
    furszy authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    d644f6c View commit details
    Browse the repository at this point in the history
  71. [Logging][Startup]

     * Stop loading block indexes on wallet startup if shutdown was requested.
     * Wallet loading, wallet rescan and block index load time logged in a more understandable way.
    furszy authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    b0fdf4f View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    8b0283e View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    5187ee4 View commit details
    Browse the repository at this point in the history
  74. add snapcraft support to pivx, static build

    Description
    ===========
    
    Enables support for automatic build and release process of pivx snap on
    snapcraft.io, as well as the ability to create a snap package on launchpad.
    
    Build is performed with prebuilding all dependencies for each architecture,
    current version builds each version on same architecture, it is possible
    to build for separate architectures on a specific one.
    
    Snap builds are in general auto updated and if users stay on a specific
    channel, with each relaunch latest version of set channel is launched.
    
    PIVX Snap build status:     https://build.snapcraft.io/user/cevap/PIVX
    PIVX's public store page:   https://snapcraft.io/pivx
    
    Getting started:            https://docs.snapcraft.io/getting-started/3876
    Snap FAQ/Documentation:     https://docs.snapcraft.io/
    Publishing process:         https://docs.snapcraft.io/releasing-your-app/6795
    
    Datafolder and how to launch
    ============================
    
    PIVX's snap default datafolder: `~/snap/pivx/common/.pivx`
    
    launch QT from terminal:
    - `pivx.qt`
    - `pivx.qt-testnet`, equals `pivx.qt --testnet`
    - `pivx.qt-regtest`, equals `pivx.qt --regtest
    
    launch daemon from terminal:
    - `pivx.daemon`
    - `pivx.daemon-testnet`, equals `pivx.daemon --testnet`
    - `pivx.daemon-regtest`, equals `pivx.daemon --regtest
    
    use cli:
    - `pivx.cli`
    - `pivx.cli-testnet`, equals `pivx.cli --testnet`
    - `pivx.cli-regtest`, equals `pivx.cli --regtest`
    
    tx:
    - pivx.tx
    
    tests:
    - pivx.test
    - pivx.testqt
    
    About snapcraft config
    ======================
    
    Execution environment for this snap is core18 and strict confinement.
    
    For more info about base, confinment ...:
    https://docs.snapcraft.io/snapcraft-top-level-metadata/8334
    
    Additional fixes and features
    =============================
    
    - [x] Daemon icons for all networks
    - [x] QT icons patch (includes patching of icons)
    - [x] Add workaround for ppc64el and QT
    - [x] additional patches
    - [x] add test_pivx and test_pivx-qt
    - [x] snap has access to several ressources like network or home folder
    - [x] tests (for now only make check at the end)
    - [x] customizable script
    - [x] script in simple, readble manner
    
    Installation process
    ====================
    
    On most installations, you do not need to specify `--channel=`, it can be
    done by writting channel directly: `--edge` without `channel=`. Official
    documenation is with --channel and so is this installation guide by that.
    
    Install pivx from snap (stable channel):
    
        sudo snap install pivx
    
    Install pivx from specific channel (example: edge)
    
        sudo snap install --channel=edge pivx
    
    How to update snap from another channel:
    
        sudo snap refresh --channel=edge pivx
    
    Uninstall pivx from system (!!!WARNING!!! it removes pivx's snap datafolder)
    
        sudo snap remove pivx
    cevap authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    9fcb920 View commit details
    Browse the repository at this point in the history
  75. Update for merging

    Fuzzbawls authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    543578a View commit details
    Browse the repository at this point in the history
  76. [Script] Introduce constant for maximum CScript length

    Backports bitcoin/bitcoin f8e6fb1
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    214e931 View commit details
    Browse the repository at this point in the history
  77. [Script] Treat overly long scriptPubKeys as unspendable

    Backports bitcoin/bitcoin 4f87af6
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    c46e22b View commit details
    Browse the repository at this point in the history
  78. [Bug] Fix OOM when deserializing UTXO entries with invalid length

    backports bitcoin/bitcoin 5d0434d
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    789a117 View commit details
    Browse the repository at this point in the history
  79. CDataStream::ignore Throw exception instead of assert on negative nSize

    Backports bitcoin/bitcoin 4bf631e
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    01f8c1c View commit details
    Browse the repository at this point in the history
  80. [Tests] Add tests for CCoins deserialization

    Backports bitcoin/bitcoin 1e44169
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    f522a5b View commit details
    Browse the repository at this point in the history
  81. [Wallet] Do not store Merkle branches in the wallet

    Backport of bitcoin#6550
    
    Assume that when a wallet transaction has a valid block hash and
    transaction position
    in it, the transaction is actually there. We're already trusting wallet
    data in a
    much more fundamental way anyway.
    
    To prevent backward compatibility issues, a new record is used for
    storing the
    block locator in the wallet. Old wallets will see a wallet file
    synchronized up
    to the genesis block, and rescan automatically.
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    1f787a5 View commit details
    Browse the repository at this point in the history
  82. Fixes and some clean up

    KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    658050b View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    7fd7295 View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    b76e854 View commit details
    Browse the repository at this point in the history
  85. [Wallet] Do not flush the wallet in AddToWalletIfInvolvingMe(..)

    Backport of bitcoin#4805 ( commit
    44bc988 )
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    4728b29 View commit details
    Browse the repository at this point in the history
  86. [Wallet] Switch to a constant-space Merkle root/branch algorithm

    Backport of bitcoin#6508
    
    This switches the Merkle tree logic for blocks to one that runs in
    constant (small) space.
    The old code is moved to tests, and a new test is added that for various
    combinations of
    block sizes, transaction positions to compute a branch for, and
    mutations:
     * Verifies that the old code and new code agree for the Merkle root.
     * Verifies that the old code and new code agree for the Merkle branch.
     * Verifies that the computed Merkle branch is valid.
     * Verifies that mutations don't change the Merkle root.
     * Verifies that mutations are correctly detected.
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    2c9fcc4 View commit details
    Browse the repository at this point in the history
  87. [Wallet] sort pending wallet transactions before reaccepting

    During startup, when adding pending wallet transactions, which spend outputs of
    other pending wallet transactions, back to the memory pool, and when they are
    added out of order, it appears as if they are orphans with missing inputs.
    
    Those transactions are then rejected and flagged as "conflicting" (= not in the
    memory pool, not in the block chain).
    
    To prevent this, transactions are explicitly sorted.
    dexX7 authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    e27638c View commit details
    Browse the repository at this point in the history
  88. Configuration menu
    Copy the full SHA
    6a0dd8e View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    62aaf72 View commit details
    Browse the repository at this point in the history
  90. Add new rpc call: abandontransaction

    Unconfirmed transactions that are not in your mempool either due to eviction or other means may be unlikely to be mined.  abandontransaction gives the wallet a way to no longer consider as spent the coins that are inputs to such a transaction.  All dependent transactions in the wallet will also be marked as abandoned.
    morcos authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    e23e5e4 View commit details
    Browse the repository at this point in the history
  91. Configuration menu
    Copy the full SHA
    172b90e View commit details
    Browse the repository at this point in the history
  92. Flush wallet after abandontransaction

    morcos authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    cd11f5d View commit details
    Browse the repository at this point in the history
  93. Configuration menu
    Copy the full SHA
    a0c5ead View commit details
    Browse the repository at this point in the history
  94. Fix calculation of balances and available coins.

    No longer consider coins which aren't in our mempool.
    
    Add test for regression in abandonconflict.py
    morcos authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    2fe6da3 View commit details
    Browse the repository at this point in the history
  95. Fix that CWallet::AbandonTransaction would only traverse one level

    Prior to this change, it would mark only the first layer of
    child transactions abandoned, due to always following the input hashTx
    rather than the current now tx.
    Empact authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    9d8415f View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    d56c844 View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    5fc8a59 View commit details
    Browse the repository at this point in the history
  98. [Wallet] Ignore coinbase and zc tx "conflicts"

    Coinbase and zerocoin transaction can't really be checked for conflicts.
    Coinbase has no value anyway.
    Zerocoin transactions are checked for zero knowledge proof, the input
    hash has no meaning.
    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    18f8c7a View commit details
    Browse the repository at this point in the history
  99. Configuration menu
    Copy the full SHA
    1f3df05 View commit details
    Browse the repository at this point in the history
  100. Fixes and clean up

    Added code to upgrade Masternode Message format
    
    Changes seen in Dash PR PIVX-Project#836
    KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    1b610e6 View commit details
    Browse the repository at this point in the history
  101. [Tests] Add RPC budget regression tests

    Adds new regression testing for the following RPC budget commands:
    - `preparebudget`
    - `submitbudget`
    - `getbudgetinfo`
    Fuzzbawls authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    01d28e1 View commit details
    Browse the repository at this point in the history
  102. [Wallet][Startup][DB][Backport] bitcoin#10952 BTC back port. Named "R…

    …emove vchDefaultKey and have better first run detection".
    
    [Wallet][Startup][DB][Backport] Don't create any default address
    furszy authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    413caac View commit details
    Browse the repository at this point in the history
  103. Configuration menu
    Copy the full SHA
    b2df72b View commit details
    Browse the repository at this point in the history
  104. [TravisCI] Run CMake Tests earlier

    Move the two CMake build tests further up in the test order so we don't
    have to manually restart them due to caching/timeouts.
    Fuzzbawls authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    4921c7d View commit details
    Browse the repository at this point in the history
  105. Configuration menu
    Copy the full SHA
    1e98729 View commit details
    Browse the repository at this point in the history
  106. Update .travis.yml

    Warrows authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    de63967 View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    28d36d5 View commit details
    Browse the repository at this point in the history
  108. [Tests] Add wallet_reorg-stake functional test

    to check balances in a reorganization of PoS blocks, and verify that the
    input of an orphan block's coinstake is spendable after.
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    cf7e253 View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    464b101 View commit details
    Browse the repository at this point in the history
  110. Configuration menu
    Copy the full SHA
    1cbe3fa View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    9396f69 View commit details
    Browse the repository at this point in the history
  112. [CMake] Fix macOS Boost detection

    Fuzzbawls authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    8a2cdec View commit details
    Browse the repository at this point in the history
  113. [Wallet] Transaction IsEquivalentTo method backported + Duplicated me…

    …mpool check code cleanup in IsTrusted method.
    
     Comes from bitcoin b2b3619
    furszy authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    12360ca View commit details
    Browse the repository at this point in the history
  114. Configuration menu
    Copy the full SHA
    5d5e9e0 View commit details
    Browse the repository at this point in the history
  115. Configuration menu
    Copy the full SHA
    ae5743f View commit details
    Browse the repository at this point in the history
  116. [Wallet][RPC] Lock/UnlockCoin const argument + checks in lockunspent

    - qualify as constants the arguments of CWallet's functions:
    IsLockedCoin, LockCoin and UnlockCoin.
    
    - Diagnose unsuitable outputs in lockunspent (backports bitcoin/bitcoin
    bitcoin#11087)
    random-zebra authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    d613a12 View commit details
    Browse the repository at this point in the history
  117. wallet: Unlock spent outputs

    promag authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    334d851 View commit details
    Browse the repository at this point in the history
  118. [Masterndoes] Masternodes sync, try locking cs_main when it looks for…

    … the tip, preventing possible multi-threading shared resource problem.
    
    Remove duplicated tip check.
    furszy authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    e5002d5 View commit details
    Browse the repository at this point in the history
  119. Configuration menu
    Copy the full SHA
    22949e2 View commit details
    Browse the repository at this point in the history
  120. Configuration menu
    Copy the full SHA
    00ff68d View commit details
    Browse the repository at this point in the history
  121. build: if VERSION_BUILD is non-zero, include it in the package version

    When the build number (CLIENT_VERSION_BUILD) is non-zero, we want
    to include that in the package version number so the resulting binaries
    are named with the correct version.
    achow101 authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    487f264 View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    c98f3e4 View commit details
    Browse the repository at this point in the history
  123. Configuration menu
    Copy the full SHA
    792e542 View commit details
    Browse the repository at this point in the history
  124. Configuration menu
    Copy the full SHA
    3227c93 View commit details
    Browse the repository at this point in the history
  125. build: use full version string in setup.exe

    MarcoFalke authored and KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    738635f View commit details
    Browse the repository at this point in the history
  126. Some fixes

    KolbyML committed May 6, 2020
    Configuration menu
    Copy the full SHA
    713eb6d View commit details
    Browse the repository at this point in the history

Commits on May 20, 2020

  1. Update init.cpp

    KolbyML committed May 20, 2020
    Configuration menu
    Copy the full SHA
    545338d View commit details
    Browse the repository at this point in the history
  2. Update benchmark_zerocoin.cpp

    KolbyML committed May 20, 2020
    Configuration menu
    Copy the full SHA
    fb5c45d View commit details
    Browse the repository at this point in the history
  3. Update masternode-budget.cpp

    KolbyML committed May 20, 2020
    Configuration menu
    Copy the full SHA
    75e50c3 View commit details
    Browse the repository at this point in the history
  4. Update optionsmodel.cpp

    KolbyML committed May 20, 2020
    Configuration menu
    Copy the full SHA
    bb34701 View commit details
    Browse the repository at this point in the history
  5. f

    KolbyML committed May 20, 2020
    Configuration menu
    Copy the full SHA
    aed099e View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2021

  1. Merge branch 'pr177' into upstream-rel-1.9.0-pr175-fix-conflicts

    # Conflicts:
    #	src/Makefile.am
    #	src/crypto/common.h
    #	src/main.cpp
    #	src/masternode.cpp
    #	src/miner.cpp
    #	src/primitives/block.h
    #	src/qt/walletview.cpp
    #	src/rpc/masternode-budget.cpp
    #	src/spork.cpp
    #	src/spork.h
    #	src/test/benchmark_zerocoin.cpp
    #	src/version.h
    #	src/wallet/crypter.cpp
    wqking committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    0967b2a View commit details
    Browse the repository at this point in the history
  2. Fixed compile errors

    wqking committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    799f191 View commit details
    Browse the repository at this point in the history